-
公开(公告)号:US08683487B2
公开(公告)日:2014-03-25
申请号:US13792427
申请日:2013-03-11
Applicant: Intel Corporation , Kerry Tweet
Inventor: Zhou Xiaocheng , Shoumeng Yan , Gao Ying , Hu Chen , Peinan Zhang , Mohan Rajagopalan , Avi Mendelson , Bratin Saha
CPC classification number: G06F9/544 , G06F12/0815 , G06F12/084 , G06F12/1009 , G06F12/1063 , G06F12/1072 , G06F12/1081 , G06F12/109 , G06F2212/161 , G06F2212/622 , G06F2212/656 , G06F2212/657 , G06F2212/682 , G06T1/20 , G06T1/60
Abstract: Embodiments of the invention provide language support for CPU-GPU platforms. In one embodiment, code can be flexibly executed on both the CPU and GPU. CPU code can offload a kernel to the GPU. That kernel may in turn call preexisting libraries on the CPU, or make other calls into CPU functions. This allows an application to be built without requiring the entire call chain to be recompiled. Additionally, in one embodiment data may be shared seamlessly between CPU and GPU. This includes sharing objects that may have virtual functions. Embodiments thus ensure the right virtual function gets invoked on the CPU or the GPU if a virtual function is called by either the CPU or GPU.
Abstract translation: 本发明的实施例为CPU-GPU平台提供语言支持。 在一个实施例中,可以在CPU和GPU两者上灵活地执行代码。 CPU代码可以将内核卸载到GPU。 该内核可能会调用CPU上的预先存在的库,或者调用其他CPU函数。 这允许构建应用程序,而不需要重新编译整个调用链。 此外,在一个实施例中,数据可以在CPU和GPU之间无缝共享。 这包括共享可能具有虚拟功能的对象。 因此,如果CPU或GPU调用虚拟功能,这些实施例可以确保在CPU或GPU上调用正确的虚拟功能。