Selective Resume Check Activation in SIMD Thread Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SIMD processing systems, divergent branch instructions lead to asynchronous execution of threads, resulting in increased power consumption and reduced performance due to the need for automatic resume check operations for every instruction.

Innovation Solution

Implementing a method to selectively enable or disable resume check operations on an instruction-by-instruction basis, using information within the instruction to determine whether a resume check is necessary, thereby reducing unnecessary power usage and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resume check operations are performed for every instruction to manage thread reactivation, then thread management reliability is improved, but power consumption increases and performance decreases

Engineering Contradiction:
Improvethread management reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by performing resume check operations only when necessary (when divergent branch instructions are detected) rather than for every instruction. The control flow management unit selectively activates resume check operations based on the presence of divergent branch instructions, thereby reducing unnecessary power consumption while maintaining thread management reliability when needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by making the resume check operation capability selective and localized to specific instructions that require it. Different instructions are treated differently - some instructions have resume check operations enabled while others have them disabled, based on whether they are divergent branch instructions. This localized approach optimizes power consumption without compromising overall system reliability.

Inventive Principle:
Principle #3Local quality

2Reliability

If resume check operations are performed for every instruction to manage thread reactivation, then thread management reliability is improved, but processing performance deteriorates

Engineering Contradiction:
Improvethread management reliabilityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by performing resume check operations only when necessary (when divergent branch instructions are detected) rather than for every instruction. The control flow management unit selectively activates resume check operations based on the presence of divergent branch instructions, thereby reducing unnecessary processing overhead while maintaining thread management reliability when needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by making the resume check operation capability selective and localized to specific instructions that require it. Different instructions are treated differently - some instructions have resume check operations enabled while others have them disabled, based on whether they are divergent branch instructions. This localized approach improves processing performance without compromising overall system reliability.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If divergent branch instructions cause asynchronous thread execution, then thread flexibility is improved, but synchronous SIMD execution efficiency deteriorates

Engineering Contradiction:
Improvethread flexibilityVSAvoidSIMD execution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the execution mode flexible and adaptable. The control flow management unit dynamically determines whether to perform resume check operations based on the instruction being executed. When divergent branch instructions are detected, the system allows asynchronous thread execution to maintain flexibility; when they are not detected, the system maintains synchronous SIMD execution for optimal efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9256429B2Selectively activating a resume check operation in a multi-threaded processing system
Publication Date: 2016.02.09 QUALCOMM INC
  • US9256429B2 patent drawing
  • US9256429B2 patent drawing
  • US9256429B2 patent drawing

AI summary

This disclosure describes techniques for selectively activating a resume check operation in a single instruction, multiple data (SIMD) processing system. A processor is described that is configured to selectively enable or disable a resume check operation for a particular instruction based on information included in the instruction that indicates whether a resume check operation is to be performed for the instruction. A compiler is also described that is configured to generate compiled code which, when executed, causes a resume check operation to be selectively enabled or disabled for particular instructions. The compiled code may include one or more instructions that each specify whether a resume check operation is to be performed for the respective instruction. The techniques of this disclosure may be used to reduce the power consumption of and/or improve the performance of a SIMD system that utilizes a resume check operation to manage the reactivation of deactivated threads.