Unified IP Counter for GPU Nested Branch Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face inefficiencies in managing control flow for single instruction multiple data (SIMD) programs, particularly in terms of performance and power usage, due to the need for maintaining unique instruction pointer addresses for each channel and frequent comparisons to determine channel enablement for instructions.

Innovation Solution

A branch unit is introduced to handle structured and unstructured control flow instructions, enabling and disabling channels based on predicate masks and control flow instructions, which computes a channel mask to manage channel divergence and convergence, reducing the need for per-channel IP comparisons and optimizing instruction execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a unique IP address is maintained for each channel to manage control flow, then control flow management is achieved, but performance and power usage deteriorate due to frequent comparisons

Engineering Contradiction:
Improvecontrol flow managementVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the control flow management for all channels into a single unified IP counter instead of maintaining separate IP counters for each channel. This consolidation eliminates the need for per-channel IP comparisons while preserving accurate control flow management through a single comparison point at the unified IP counter.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified IP counter serves all channels simultaneously, performing the control flow management function for multiple channels with a single counter instance. This universal approach allows one IP counter to replace multiple channel-specific counters, reducing overhead and improving efficiency.

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

2Reliability

If a unique IP address is maintained for each channel to manage control flow, then control flow management is achieved, but power consumption increases due to frequent comparisons

Engineering Contradiction:
Improvecontrol flow managementVSAvoidpower usage
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent merges the control flow management for all channels into a single unified IP counter instead of maintaining separate IP counters for each channel. This consolidation eliminates the need for per-channel IP comparisons while preserving accurate control flow management through a single comparison point at the unified IP counter.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts the redundant per-channel IP comparison operations and removes them from the system. By eliminating unnecessary comparison logic at the channel level and retaining only the essential unified IP counter comparison, power consumption is reduced while control flow management remains effective.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If per-channel IP comparisons are performed for each instruction to determine channel enablement, then accurate channel control is achieved, but device complexity increases

Engineering Contradiction:
Improvechannel control accuracyVSAvoidcomparison operations
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the control flow management for all channels into a single unified IP counter instead of maintaining separate IP counters for each channel. This consolidation eliminates the need for per-channel IP comparisons while preserving accurate control flow management through a single comparison point at the unified IP counter.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts the redundant per-channel IP comparison operations and removes them from the system. By eliminating unnecessary comparison logic at the channel level and retaining only the essential unified IP counter comparison, power consumption is reduced while control flow management remains effective.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9766892B2Method and apparatus for efficient execution of nested branches on a graphics processor unit
Publication Date: 2017.09.19 INTEL CORP
  • US9766892B2 patent drawing
  • US9766892B2 patent drawing
  • US9766892B2 patent drawing

AI summary

An apparatus and method for executing nested control flow instructions on a graphics processing unit (GPU). For example, one embodiment of a processor comprises: an execution unit having a plurality of channels to execute control flow instructions including fused control flow instructions comprising two or more consecutive control flow instructions fused into a single fused control flow instruction; and a branch unit to process the control flow instructions and to maintain a global counter indicating a nesting level of the control flow instructions, wherein to process a fused control flow instruction, the branch unit is to store a value N in a stack indicating a number of control flow instructions fused into the fused control flow instruction, the branch unit to subsequently read the value N from the stack upon execution of the fused control flow instruction and decrement the global counter by a value of N responsive to execution of the fused control flow instruction.