GPU Performance Parameter Calculation via Sampling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Determining the performance characteristics of complex graphical processing units (GPUs) is challenging due to their increased complexity, making it difficult to identify and optimize slower pipeline stages, while exposing internal GPU information for performance improvement also risks revealing proprietary manufacturer data.
Innovation Solution
A method and system for calculating performance parameters, such as utilization and bottleneck parameters, for individual processor subunits within the GPU pipeline by sampling their activity during draw calls, using counters to measure activity and pause times, allowing for accurate performance analysis without compromising proprietary information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If detailed performance information of GPU subunits is exposed to software developers, then the frame rate and efficiency can be improved, but manufacturer's proprietary information is revealed
Solution Approach 1:
The patent extracts only the necessary performance parameters (utilization and bottleneck parameters) from the complex GPU pipeline without exposing the underlying proprietary architecture details. By taking out only the essential performance data needed for optimization while leaving the internal structure hidden, the system achieves both productivity improvement and information protection.
Solution Approach 2:
The patent introduces performance parameters as intermediary representations that mediate between the GPU's internal operations and software developer needs. These parameters serve as a simplified interface that allows optimization without direct access to proprietary internals, resolving the contradiction between information exposure and protection.
2Measurement precision
If targeted experimentation is performed by varying workload at different processing units, then performance characteristics can be determined, but the complexity of isolating individual units increases due to interdependencies
Solution Approach 1:
The patent enables each GPU subunit to self-report its performance characteristics through built-in sampling and counter mechanisms. Each subunit autonomously tracks its own utilization and bottleneck parameters without requiring external experimentation or isolation, eliminating the complexity of manipulating individual units while maintaining precise measurement.
Solution Approach 2:
The patent replaces the mechanical approach of manually varying workloads to isolate units with an automated sampling mechanism. Instead of mechanically manipulating the pipeline to separate units, the system uses software-based sampling to observe and measure performance characteristics non-intrusively, simplifying the measurement process.
Data Source
AI summary
A method of calculating utilization and bottleneck performance parameters of a processing unit within a graphical processing unit (GPU). The utilization is a measure of a percentage that the processing unit is utilized over a draw call execution time. The bottleneck is the sum of the time period that the processing unit is active, the time period that the processing unit is full and does not accept data from an upstream processing unit, minus the time period that the processing unit is paused because the downstream processing unit is busy and cannot accept data, all over the execution time of the draw call. Performance parameters may be determined by sampling the processing unit and incrementing a counter when a condition is true. The method is repeated for the same draw call, for each processing unit of the GPU, and for a plurality of draw calls comprising a frame.


