US 11,842,209 B2
High-performance processing in a virtualization environment
Lawrence Spracklen, Boulder Creek, CA (US); Hari Sivaraman, Livermore, CA (US); Vikram Makhija, Sunnyvale, CA (US); and Rishi Bidarkar, Sunnyvale, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Jan. 8, 2019, as Appl. No. 16/242,275.
Application 16/242,275 is a continuation of application No. 13/909,743, filed on Jun. 4, 2013, granted, now 10,180,852, issued on Jan. 15, 2019.
Prior Publication US 2019/0138344 A1, May 9, 2019
Int. Cl. G06F 9/455 (2018.01)
CPC G06F 9/45558 (2013.01) 19 Claims
OG exemplary drawing
 
1. A computer implemented method, comprising processing a system call from an application running within a client virtual machine running on a first host device, wherein the processing includes:
determining that the system call is a request for a device driver to instruct a physical general-purpose graphics processing unit (GPGPU) or a co-processor to perform a function and that the request is intended for a parallel computing framework library, wherein a first appliance virtual machine provides the parallel computing library and virtualization of the GPGPU or co-processor for a plurality of virtual machines including the client virtual machine, and wherein the parallel computing framework library comprises one of a compute unified device architecture (CUDA) framework library or an open computing language (OpenCL) framework library; and
transmitting, in response to determining that the system call is intended for the parallel computing framework library, the request from the client virtual machine to the first appliance virtual machine to execute the request via a guest device pass-through that communicates directly with the GPGPU or co-processor.