1. A computing device, comprising: a main processing unit; a co-processing unit; and a system memory that includes: a compiled version of an application program that includes a device code repository comprising device code configured for execution on the co-processing unit, and a software driver configured to determine optimal machine code to execute on the co-processing unit for a multi-architecture function included in the device code; wherein the device code repository includes, for the multi-architecture function, one or more virtual assembly elements, wherein each virtual assembly element reflects the multi-architecture function compiled and linked for a particular assumed virtual architecture for the co-processing unit; wherein the device code repository further includes, for the multi-architecture function, one or more machine code elements.