Abstract: One embodiment of the present invention sets forth a system configured for transferring data between independent application programming interface (API) contexts on one or more graphics processing units (GPUs). Each API context may derive from an arbitrary API. Data is pushed from one API context to another API context using a peer-to-peer buffer “blit” operation executed between buffers allocated in the source and target API context memory spaces. The source and target API context memory spaces may be located within the frame buffers of the source and target GPUs, respectively, or located within the frame buffer of a single GPU. The data transfers between the API contexts are synchronized using semaphore operator pairs inserted in push buffer commands that are executed by the one or more GPUs.
Type:
Grant
Filed:
June 20, 2006
Date of Patent:
July 17, 2012
Assignee:
NVIDIA Corporation
Inventors:
Franck R. Diard, Barthold B. Lichtenbelt, Mark J. Harris, Simon G. Green