Patent ID: 8692832

Claim:
A method for providing asymmetric virtualized graphics processing unit (vGPU) nodes in a child partition of a para-virtualized execution environment for a computing system that includes one or more processors, system memory and a physical graphics processing unit (GPU), the method comprising: an act of instantiating a render component within a root partition of the para-virtualized execution environment, the render component being configured to execute received GPU commands at the physical GPU; an act of instantiating a virtual GPU (“vGPU”) within a child partition isolated from the root partition, the vGPU being configured to virtualize the physical GPU, the vGPU including: a kernel-mode driver (KMD) which includes a plurality of virtual nodes specific to the instantiated vGPU of the isolated child partition, each virtual node comprising a direct memory access (DMA) engine that is distinct from every other DMA engine, and each DMA engine being configured to perform a different type of operation in parallel with one or more other types of operations performed by one or more other DMA engines; and a user-mode driver (UMD) which is configured to schedule operations of different types for parallel execution on the DMA engines of the virtual nodes; an act of declaring the KMD as a multi-engine GPU; an act of establishing a plurality of direct memory access (DMA) channels which are at least as great in number as the number of DMA engines of the virtual nodes, each DMA channel having a unique identifier used by the KMD and render component to prevent competition by the DMA engines of the virtual nodes when accessing a DMA channel to communicate GPU commands between the corresponding DMA engine of a virtual node and the render component; and an act of the UMD scheduling each of a plurality of different types of operations for execution on a different one of the DMA engines of the virtual nodes.