Streaming Multiprocessor Uniformity Detection for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel processing architectures, redundant computations on uniform sets of data lead to unnecessary power consumption, particularly in portable devices where power efficiency is critical.

Innovation Solution

A system with a streaming multiprocessor that identifies uniform sets of operands and activates a uniformity signal to prevent redundant execution, allowing only one thread to perform deterministic operations while others set their outputs to the result of the first thread's operation, thereby reducing power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple threads concurrently execute the same deterministic operation on uniform sets of input operands, then parallel processing throughput is maintained, but power consumption increases unnecessarily

Engineering Contradiction:
Improveparallel processing throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges redundant computation operations by detecting when multiple threads execute the same deterministic operation on uniform input operands. When uniformity is detected, the system combines the execution of these threads into a single operation, where one execution unit processes all uniform operands and shares the result across multiple threads, eliminating redundant power consumption while maintaining throughput

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically changes the execution parameter from full parallel execution to selective execution based on uniformity detection. By monitoring input operand values and operation types, the system adjusts whether to execute operations in parallel (when operands differ) or consolidate execution (when operands are uniform), optimizing the balance between throughput and power consumption

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all execution units perform operations on uniform sets of operands, then computational correctness is ensured, but redundant computations increase power consumption

Engineering Contradiction:
Improvecomputational correctnessVSAvoidredundant power consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements feedback through uniformity detection mechanisms that monitor input operands before execution. By detecting whether multiple threads have identical input operands for the same deterministic operation, the system provides feedback control to execution units, enabling them to skip redundant operations when uniformity is detected while ensuring correctness is maintained through proper result sharing

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The execution units perform self-service by autonomously detecting uniformity conditions and adjusting their own execution behavior. When uniformity is detected, execution units automatically consolidate operations and share results without requiring external intervention, reducing redundant power consumption while maintaining computational correctness through built-in uniformity detection and result propagation mechanisms

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11055097B2Dynamically detecting uniformity and eliminating redundant computations to reduce power consumption
Publication Date: 2021.07.06 NVIDIA CORP
  • US11055097B2 patent drawing
  • US11055097B2 patent drawing
  • US11055097B2 patent drawing

AI summary

One embodiment of the present invention includes techniques to decrease power consumption by reducing the number of redundant operations performed. In operation, a streamlining multiprocessor (SM) identifies uniform groups of threads that, when executed, apply the same deterministic operation to uniform sets of input operands. Within each uniform group of threads, the SM designates one thread as the anchor thread. The SM disables execution units assigned to all of the threads except the anchor thread. The anchor execution unit, assigned to the anchor thread, executes the operation on the uniform set of input operands. Subsequently, the SM sets the outputs of the non-anchor threads included in the uniform group of threads to equal the value of the anchor execution unit output.