Programmable Streaming Processor Mixed Precision Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing units face inefficiencies due to the need for full-precision circuitry, which consumes more power and space, especially when executing mixed-precision instructions, as they often require unnecessary precision promotion and lack flexibility in data precision handling.

Innovation Solution

A programmable streaming processor with multiple execution units capable of executing both full-precision and half-precision instructions, allowing for adaptive selection based on data precision indications, thereby reducing unnecessary precision promotion and increasing flexibility in application code writing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full-precision circuitry is used for all instructions, then execution accuracy is maintained, but power consumption and physical space increase

Engineering Contradiction:
Improvedata precisionVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent implements different precision execution units (full-precision and half-precision) for different instruction types. The controller selectively routes instructions to appropriate execution units based on precision requirements, ensuring that only necessary circuitry operates at full precision while other units use reduced precision, thereby reducing overall power consumption while maintaining required accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the precision parameter of execution units dynamically based on instruction requirements. The controller analyzes incoming instructions and configures execution units to operate at full-precision or half-precision mode accordingly, allowing the system to adapt power consumption and precision levels to match actual computational needs rather than operating at fixed maximum precision.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If full-precision circuitry is used for all instructions, then execution accuracy is maintained, but physical space occupied increases

Engineering Contradiction:
Improvedata precisionVSAvoidphysical space
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent implements different precision execution units (full-precision and half-precision) for different instruction types. The controller selectively routes instructions to appropriate execution units based on precision requirements, ensuring that only necessary circuitry operates at full precision while other units use reduced precision, thereby reducing overall power consumption while maintaining required accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the precision parameter of execution units dynamically based on instruction requirements. The controller analyzes incoming instructions and configures execution units to operate at full-precision or half-precision mode accordingly, allowing the system to adapt power consumption and precision levels to match actual computational needs rather than operating at fixed maximum precision.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a single execution unit handles all precision levels, then device complexity is reduced, but precision promotion overhead increases

Engineering Contradiction:
Improveexecution unit structureVSAvoidprecision promotion time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the execution units into distinct full-precision and half-precision units. This segmentation allows instructions to be directly executed in the appropriate precision level without requiring conversion or promotion operations, eliminating time loss while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates execution units that can handle multiple precision levels natively. Each execution unit is designed to process both full-precision and half-precision instructions efficiently, providing universal functionality that reduces the need for precision conversion operations and minimizes execution overhead.

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

4Adaptability or versatility

If mixed-precision execution is implemented, then flexibility and processing capacity increase, but device complexity increases

Engineering Contradiction:
Improveprecision handling flexibilityVSAvoidexecution unit configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic control system that adapts execution unit configuration based on incoming instruction requirements. The controller dynamically selects which execution units to activate and how to configure them, providing flexibility in precision handling while managing device complexity through software-controlled adaptation rather than hardwired complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a controller as an intermediary between instruction input and execution units. This mediator manages the complexity of mixed-precision execution by handling instruction analysis, precision determination, and execution unit selection, thereby shielding the rest of the system from complexity while enabling flexible precision handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8633936B2Programmable streaming processor with mixed precision instruction execution
Publication Date: 2014.01.21 QUALCOMM INC
  • US8633936B2 patent drawing
  • US8633936B2 patent drawing
  • US8633936B2 patent drawing

AI summary

The disclosure relates to a programmable streaming processor that is capable of executing mixed-precision (e.g., full-precision, half-precision) instructions using different execution units. The various execution units are each capable of using graphics data to execute instructions at a particular precision level. An exemplary programmable shader processor includes a controller and multiple execution units. The controller is configured to receive an instruction for execution and to receive an indication of a data precision for execution of the instruction. The controller is also configured to receive a separate conversion instruction that, when executed, converts graphics data associated with the instruction to the indicated data precision. When operable, the controller selects one of the execution units based on the indicated data precision. The controller then causes the selected execution unit to execute the instruction with the indicated data precision using the graphics data associated with the instruction.