Green, Howard & Mughal, LLP
Sharing virtual functions in a shared virtual memory between heterogeneous processors of a computing platform
A computing platform may include heterogeneous processors (e.g., CPU and a GPU) to support sharing of virtual functions between such processors. In one embodiment, a CPU side vtable pointer used to access a shared object from the CPU 110 may be used to determine a GPU vtable if a GPU-side table exists. In other embodiment, a shared non-coherent region, which may not maintain data consistency, may be created within the shared virtual memory. The CPU and the GPU side data stored within the shared non-coherent region may have a same address as seen from the CPU and the GPU side. However, the contents of the CPU-side data may be different from that of GPU-side data as shared virtual memory may not maintain coherency during the run-time. In one embodiment, the vptr may be modified to point to the CPU vtable and GPU vtable stored in the shared virtual memory.
Intel Corporation
G G G G G G
G06F G06F G06F G06F G06F G06F
additional inventional inventional inventional inventional inventional
Hu Sai Shoumeng Ying Bratin Xiaocheng
Chen Luo Yan Gao Saha Zhou