Color Raster Operations Unit Command Interleaving for GPU Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing units (GPUs) require a significant portion of their chip area for dedicated hardware units to efficiently process atomic transactions and graphics operations, leading to suboptimal throughput.

Innovation Solution

A method is introduced to transmit commands to a processing subsystem that can perform both color blending and atomic operations, allowing for efficient distribution of atomic and graphics commands to a color raster operations unit, thereby optimizing the use of processing power and memory caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated hardware units are used for atomic transactions and graphics operations, then processing efficiency is improved, but GPU chip area is significantly consumed

Engineering Contradiction:
Improveprocessing throughputVSAvoidGPU chip area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent applies multi-functionality by enabling the color raster operations unit (CROP) to process both atomic transactions and graphics operations through a unified command buffer mechanism. The CROP can execute atomic commands from an atomic command buffer and graphics commands from a graphics command buffer, eliminating the need for separate dedicated hardware units for each operation type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the processing of atomic transactions and graphics operations into a single CROP unit. By combining the command buffers and using a unified selection mechanism to determine which commands to process next, the system consolidates previously separate hardware functions into one shared resource, reducing overall chip area requirements.

Inventive Principle:
Principle #5Merging (Combining)

2Area of stationary object

If a single processing unit handles both atomic transactions and graphics operations, then chip area is reduced, but processing throughput may decrease

Engineering Contradiction:
ImproveGPU chip areaVSAvoidprocessing throughput
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent implements dynamic command selection where the system can adaptively choose between processing atomic commands or graphics commands based on current workload requirements. The command buffer mechanism allows flexible switching between operation types, enabling the single CROP unit to maintain high throughput by dynamically allocating its processing capacity to different command types as needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The unified command buffer approach ensures continuous processing by maintaining ready queues for both atomic and graphics commands. The CROP can continuously fetch and execute commands from either buffer without idle periods, as the selection mechanism ensures there is always work available to process, thereby maintaining high throughput despite using a single processing unit.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9665920B1Simultaneous execution of compute and graphics applications
Publication Date: 2017.05.30 NVIDIA CORP
  • US9665920B1 patent drawing
  • US9665920B1 patent drawing
  • US9665920B1 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for distributing graphics commands and atomic commands to a color processing unit (CROP) in an efficient manner. The interleaving mechanism determines, at each clock cycle, which graphics command(s) or atomic command(s) is transmitted to the CROP based on different factors. First, the interleaving mechanism ensures that atomic commands or graphics commands associated with a multi-transaction command stream are processed together. Second, the interleaving mechanism selects consecutive graphics commands for transmission to the CROP that optimize the use of different memory caches. Third, the interleaving mechanism prioritizes atomic commands over graphics commands. At each clock cycle, the graphics command(s) or the atomic command(s) selected by the interleaving mechanism are transmitted to the CROP for processing.