Para-virtualized vGPU Accessing Domain Hull Geometry Shaders
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Guest software in para-virtualized execution environments is limited in accessing advanced GPU functions, such as domain, hull, and geometry shaders, due to support constraints, leading to performance penalties and potential errors, as they can only utilize GPU functions supported by the legacy rendering framework, even if the physical GPU supports newer features.
Innovation Solution
A virtualized graphics processing unit (vGPU) is presented to guest applications within a child partition, providing device driver interfaces (DDIs) that enable programming of a GPU pipeline, allowing access to physical GPU features like domain, hull, and geometry shaders through a user-mode driver, which schedules commands for execution on the physical GPU.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a para-virtualized execution environment supports only a legacy rendering framework, then the system maintains compatibility and stability, but guest software cannot access advanced GPU functions (domain, hull, geometry shaders) even if the physical GPU supports them
Solution Approach 1:
The patent introduces a translation layer comprising a legacy rendering framework module and a modern rendering framework module that acts as an intermediary between guest software and the physical GPU. The legacy module receives commands from guest software, translates them into modern commands, and forwards them to the GPU, enabling access to advanced functions while maintaining legacy compatibility. This mediator resolves the contradiction by allowing both legacy support and modern GPU feature access simultaneously.
Solution Approach 2:
The system dynamically changes the rendering framework version parameter exposed to guest software. While the physical GPU operates with modern rendering framework capabilities, the virtualization layer can present either a legacy or modern rendering framework interface depending on the needs of the guest software. This parameter transformation enables guest applications to access advanced GPU functions through the modern framework while the system maintains the option to present legacy interfaces for compatibility scenarios.
2Productivity
If guest software uses a translation layer or inferior GPU functions to access unsupported GPU features, then the software can execute, but performance penalties are incurred
Solution Approach 1:
The patent creates a virtual GPU device that copies the interface and functionality of a physical GPU but operates within the constraints of the para-virtualized environment. This virtual copy presents a modern rendering framework interface to guest software, allowing direct issuance of advanced GPU commands without translation overhead. The virtual GPU acts as a software model that mirrors the physical GPU's capabilities while being managed by the hypervisor, eliminating performance penalties associated with translation layers.
3Adaptability or versatility
If the para-virtualized environment presents a modern rendering framework interface, then guest software can access advanced GPU features, but the complexity of the virtualization system increases
Solution Approach 1:
The patent segments the rendering framework functionality into distinct modules: a legacy rendering framework module that handles compatibility requirements, a modern rendering framework module that provides access to advanced GPU features, and a translation layer that coordinates between them. This segmentation allows the system to present a modern interface to guest software while maintaining legacy support infrastructure, managing complexity through modular organization rather than monolithic design.
Solution Approach 2:
The virtualization system is designed with multi-functional components that can operate in multiple modes. The rendering framework interface can dynamically switch between legacy and modern modes, and the translation layer can adapt its behavior based on the guest software's requirements. This universality allows a single system architecture to serve both legacy compatibility needs and modern GPU feature access, reducing the need for separate specialized systems.
Data Source
Figure 1
Figure 2
AI summary
The present invention extends to methods, systems, and computer program products for providing domain, hull, and geometry shaders in a para-virtualized environment. As such, a guest application executing in a child partition is enabled use a programmable GPU pipeline of a physical GPU. A vGPU (executing in the child partition) is presented to the guest application. The vGPU exposes DDIs of a rendering framework. The DDIs enable the guest application to send graphics commands to the vGPU, including commands for utilizing a domain shader, a hull shader, and/or a geometric shader at a physical GPU. A render component (executing within the root partition) receives physical GPU-specific commands from the vGPU, including commands for using the domain shader, the hull shader, and/or the geometric shader. The render component schedules the physical GPU-specific command(s) for execution at the physical GPU.