发明名称 Enabling polymorphic objects across devices in a heterogeneous platform
摘要 In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses enabling polymorphic objects across devices in a heterogeneous platform. According to the disclosed embodiments, such means include, for example, receiving, at a device aware compiler, source code for a computer program as input; compiling the source code for the computer program, in which the compiling includes at least: generating two distinct sets of executable binary instructions for a method of an object; in which a first of the two distinct sets of executable binary instructions for the method of the object provides first binary instructions for the method executable by a first computing device and not executable by a second computing device; and in which a second of the two distinct sets of executable binary instructions for the method of the object provides second binary instructions for the method executable by the second computing device and not executable by the first computing device. Other related embodiments are disclosed.
申请公布号 US9164735(B2) 申请公布日期 2015.10.20
申请号 US201213628196 申请日期 2012.09.27
申请人 Intel Corporation 发明人 Hux William Allen;Galoppo Von Borries Nicolas
分类号 G06F9/44;G06F9/45 主分类号 G06F9/44
代理机构 Blakely, Sokoloff, Taylor & Zafman LLP 代理人 Blakely, Sokoloff, Taylor & Zafman LLP
主权项 1. A method comprising: receiving, at a device aware compiler, source code for a computer program as input; compiling the source code for the computer program, wherein the compiling includes at least: generating two distinct sets of executable binary instructions for a method of an object, a first of the two distinct sets of executable binary instructions executable by a first computing device and not executable by a second computing device, and a second of the two distinct sets of executable binary instructions executable by the second computing device and not executable by the first computing device; enabling device aware execution of the two distinct sets of executable binary instructions using a two-stage indirection scheme, the two-stage indirection scheme including: encoding a handle to a shared virtual function table (vtable), the handle indicating at which of the first and second computing devices the object is executing without regard to where the object was originally instantiated; and performing a look up to a device-specific vtable based on the handle to the shared vtable, the device specific vtable having a pointer to one of the two distinct sets of executable binary instructions executable by a respective one of the first and second computing devices at which the object is executing, wherein performing the look up includes: referencing a first device specific vtable specific to the first computing device and embodied therein; and referencing a second device specific vtable specific to the second computing device and embodied therein.
地址 Santa Clara CA US