Warp Processing Unit Discarded Thread State Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In graphics processing, when some threads in a warp are determined to be unnecessary due to their graphics fragments not contributing to the final rendered image, existing systems struggle to efficiently manage instruction execution and data access, leading to inefficiencies and power wastage as discarded threads continue to generate data access messages and delay dependent operations.

Innovation Solution

The introduction of a 'discarded state' for threads processed by the warp processing unit, where execution continues but data access messages are suppressed, and dependent operations can proceed independently, allowing for power savings and performance improvements by enabling other operations to commence without waiting for the discarded thread's completion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If threads continue execution after being determined unnecessary, then instruction execution remains simple and uniform, but bandwidth usage increases and power consumption rises due to unnecessary data access messages

Engineering Contradiction:
Improveinstruction execution managementVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent introduces a discarded state that applies selectively to specific threads based on their contribution to the final image. Threads are evaluated individually and placed in discarded state locally, allowing differentiated treatment: active threads continue normal execution while discarded threads suppress data access messages. This local quality approach resolves the contradiction by maintaining simple uniform execution for active threads while applying optimization only where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the execution state parameter of threads from binary (active/inactive) to ternary (active/discarded/terminated). By introducing the discarded state as an intermediate parameter, the system can modify thread behavior to suppress data access messages without terminating execution completely. This parameter change enables power savings while maintaining execution simplicity.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If discarded threads continue to generate data access messages, then instruction execution remains straightforward, but bandwidth usage increases unnecessarily

Engineering Contradiction:
Improvethread execution managementVSAvoidbandwidth usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The discarded state applies selective suppression of data access messages based on individual thread evaluation. Each thread is assessed for its contribution to the final image, and only those determined unnecessary are placed in discarded state with suppressed messages. This maintains straightforward execution management for active threads while reducing bandwidth usage from discarded threads.

Inventive Principle:
Principle #3Local quality

3Device complexity

If dependent operations wait for discarded thread completion, then thread execution remains sequential and simple, but processing time increases

Engineering Contradiction:
Improveoperation schedulingVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent determines thread discarding status before the thread completes execution. By evaluating thread necessity in advance and placing unsuitable threads in discarded state, the system allows dependent operations to proceed independently without waiting for discarded thread completion. This preliminary action resolves the contradiction by enabling parallel processing of dependent operations while maintaining simple execution management for active threads.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If all threads in a warp are processed uniformly, then instruction fetching is efficient with shared program counter, but power wastage occurs when some threads are unnecessary

Engineering Contradiction:
Improveinstruction fetching efficiencyVSAvoidpower wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent maintains uniform instruction fetching for the entire warp using the shared program counter, preserving fetching efficiency. Simultaneously, it applies local quality by evaluating individual thread contribution and placing specific threads in discarded state to suppress their data access messages. This resolves the contradiction by maintaining efficient batch fetching while reducing power consumption from unnecessary thread operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10748236B2Discarding of threads processed by a warp processing unit
Publication Date: 2020.08.18 ARM LTD
  • US10748236B2 patent drawing
  • US10748236B2 patent drawing
  • US10748236B2 patent drawing

AI summary

A warp processing unit controls, in dependence on a warp program counter shared between a plurality of threads processing respective graphics fragments, fetching of a next instruction to be executed for at least some of the plurality of threads. In response to a determination that a given subset of threads is to be discarded when at least one other subset of threads is to continue, the warp processing unit processes the given subset of threads in a discarded state. For a thread processed in the discarded state, execution of instructions continues for the discarded thread, and at least one of: generation of data access messages triggered by the discarded thread is suppressed; and at least one processing operation, which would be deferred until completion of the discarded thread had the thread not been discarded, is enabled to be commenced independently of an outcome of the discarded thread.