Atomic Operation Merging in Graphics Processing Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in handling atomic operations for thread groups, particularly in graphics processing pipelines, where multiple threads accessing the same memory location require serialization to maintain semantic integrity, leading to increased power consumption and reduced performance.

Innovation Solution

The method involves identifying threads within a thread group that access the same memory location and performing atomic operations by combining their arithmetic results, then executing a single atomic memory operation using the combined result, thereby reducing the number of memory accesses and maintaining semantic integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple threads in a thread group perform atomic operations on the same memory location independently, then parallelism is maintained, but semantic integrity is compromised requiring serialization

Engineering Contradiction:
ImproveparallelismVSAvoidsemantic integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges multiple atomic memory operations from threads that access the same memory location into a single atomic operation. The execution unit identifies threads with identical memory access addresses and combines their arithmetic operations, then executes one atomic memory operation that applies the combined result to the memory location, thereby maintaining semantic integrity while reducing the number of serialization points

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The execution unit performs preliminary identification and classification of threads based on their memory access addresses before executing atomic operations. Threads are pre-grouped by memory location, and arithmetic operations are pre-combined for threads accessing the same address, so that when atomic memory operations are executed, fewer serialization steps are required

Inventive Principle:
Principle #10Preliminary action

2Reliability

If atomic operations are serialized to maintain semantic integrity, then correctness is ensured, but power consumption increases

Engineering Contradiction:
ImprovecorrectnessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By merging multiple atomic memory operations into a single operation for threads accessing the same memory location, the patent reduces the total number of memory accesses and serialization steps. This decreases the time window during which atomic operations must be executed, thereby reducing power consumption while maintaining correctness through the combined arithmetic operation

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If individual atomic memory requests are executed separately, then thread independence is maintained, but performance is reduced

Engineering Contradiction:
Improvethread independenceVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent combines arithmetic operations from multiple threads that access the same memory location, then executes a single atomic memory operation with the combined result. This maintains thread independence in terms of each thread's arithmetic computation while improving performance by reducing the number of memory accesses and serialization steps required

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If multiple atomic memory operations are performed on the same location, then complete arithmetic operations are executed, but memory access frequency increases

Engineering Contradiction:
Improvearithmetic operation completionVSAvoidmemory access frequency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges arithmetic operations from multiple threads accessing the same memory location into a single combined arithmetic operation, then executes one atomic memory operation to apply the result. This completes all necessary arithmetic operations for the threads while reducing memory access frequency from multiple separate accesses to a single consolidated access

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9256466B2Data processing systems
Publication Date: 2016.02.09 ARM LTD
  • US9256466B2 patent drawing
  • US9256466B2 patent drawing
  • US9256466B2 patent drawing

AI summary

When an atomic operation is to be executed for a thread group by an execution stage of a data processing system, it is determined whether there is a set of threads for which the atomic operation for the threads accesses the same memory location. If so, the arithmetic operation for the atomic operation is performed for the first thread in the set of threads using an identity value for the arithmetic operation for the atomic operation and the first thread's register value for the atomic operation, and is performed for each other thread in the set of threads using the thread's register value for the atomic operation and the result of the arithmetic operation for the preceding thread in the set of threads, to thereby generate for the final thread in the identified set of threads a combined result of the arithmetic operation for the set of threads.