Atomic Memory Update Unit for GPU Cache-Aware Shared Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing units (GPUs) face challenges in efficiently performing multi-threaded processing and shared data consumption, particularly in operations like ray tracing, due to limitations in memory access and update mechanisms, leading to inefficiencies in updating memory locations atomically and managing cache eviction.

Innovation Solution

Implementing an update unit that performs atomic memory updates and a cache management system that tracks expected read counts to optimize memory access and eviction, using a scheduler to group computations and manage cache usage based on expected read requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional memory update mechanisms are used in GPUs, then memory access flexibility is maintained, but atomic update efficiency deteriorates

Engineering Contradiction:
Improvememory update efficiencyVSAvoidmemory update mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory update mechanism is segmented into a dedicated update unit that handles atomic operations separately from the main computation units. This segmentation allows atomic updates to be processed independently, improving efficiency without complicating the overall GPU architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary update unit is introduced between computation units and memory. This intermediary receives update requests, performs atomic operations using read-modify-write sequences with interleaved read barriers, and commits results to memory, thereby enhancing atomic update efficiency while maintaining architectural simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If standard cache eviction policies are used, then cache management simplicity is maintained, but multi-threaded processing efficiency deteriorates

Engineering Contradiction:
Improvemulti-threaded processing efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache management system implements feedback mechanisms by tracking expected read counts for cache lines and adjusting eviction decisions based on actual read patterns. This feedback loop enables the cache to retain useful data longer, improving multi-threaded processing efficiency without requiring complex manual management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-fetching data into cache based on predicted needs and tracking expected read counts before actual access patterns are fully realized. This preliminary cache population and tracking improves subsequent access efficiency while maintaining automated management.

Inventive Principle:
Principle #10Preliminary action

3Speed

If atomic read-modify-write operations are implemented without barriers, then operation speed is improved, but data consistency deteriorates

Engineering Contradiction:
Improveatomic operation speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system employs periodic read barriers at strategically chosen points within the atomic read-modify-write sequence. These periodic barriers ensure data consistency by preventing other cores from reading inconsistent intermediate states, while maintaining high speed by minimizing the frequency and overhead of barrier insertion.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The atomic operation maintains continuity of useful action by keeping the read-modify-write sequence uninterrupted except at necessary barrier points. The computation unit continuously processes updates through the pipeline, with barriers inserted only where needed to ensure consistency, thereby maintaining high throughput and reliability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12548232B2Atomic memory update unit and methods
Publication Date: 2026.02.10 IMAGINATION TECH LTD
  • US12548232B2 patent drawing
  • US12548232B2 patent drawing
  • US12548232B2 patent drawing

AI summary

In an aspect, an update unit can evaluate condition(s) in an update request and update one or more memory locations based on the condition evaluation. The update unit can operate atomically to determine whether to effect the update and to make the update. Updates can include one or more of incrementing and swapping values. An update request may specify one of a pre-determined set of update types. Some update types may be conditional and others unconditional. The update unit can be coupled to receive update requests from a plurality of computation units. The computation units may not have privileges to directly generate write requests to be effected on at least some of the locations in memory. The computation units can be fixed function circuitry operating on inputs received from programmable computation elements. The update unit may include a buffer to hold received update requests.