GPU Cache Attribute Control for Low-Latency Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face challenges in cache control due to virtually indexed caches, which hinder efficient memory management and processing efficiency, especially in parallel graphics data processing and machine-learning operations, as they cannot utilize page table entry-based caching effectively.

Innovation Solution

Implementing a cache control mechanism that allows for instruction-based cache management, enabling efficient handling of memory requests and cache attributes, and using implicit fences to optimize cache behavior and coherency, thereby enhancing processing efficiency in GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a virtually indexed cache is used to reduce cache access latency, then cache access speed is improved, but page table entry-based caching control cannot be utilized

Engineering Contradiction:
Improvecache access speedVSAvoidcaching control flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism (cache control logic) that sits between the virtual address indexing system and the cache structure. This intermediary receives virtual addresses, performs early cache lookup before full address translation, and coordinates with page table entries to provide both fast access and flexible control. The intermediary enables the system to benefit from both virtual indexing speed and page table control without requiring a fundamental architectural change.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary cache lookup actions by initiating the cache search using only the virtual address and partial tag information before the complete virtual-to-physical translation is finished. This preliminary action allows the cache system to start working in parallel with the address translation process, reducing overall latency while maintaining the ability to validate results against page table entries afterward.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If virtual address is used to index into the cache before page table translation, then cache lookup latency is reduced, but cache coherency control becomes difficult

Engineering Contradiction:
Improvecache lookup latencyVSAvoidcache coherency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the cache control logic receives status information from the page table translation process and adjusts cache behavior accordingly. The system performs early lookup based on virtual addresses, then uses feedback from the completed address translation to validate results and update cache coherency state. This feedback loop ensures that fast preliminary lookups maintain reliability by confirming results against the final translated addresses.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent makes the cache system dynamic by allowing cache attributes and control parameters to change based on the state of address translation and memory management. The cache can operate in different modes depending on whether page table entries are available, what translation status is achieved, and what coherency requirements are active. This dynamic behavior allows the system to optimize for speed when possible and fall back to more conservative coherency-preserving operations when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11899614B2Instruction based control of memory attributes
Publication Date: 2024.02.13 INTEL CORP
  • US11899614B2 patent drawing
  • US11899614B2 patent drawing
  • US11899614B2 patent drawing

AI summary

Embodiments described herein provide techniques to facilitate instruction-based control of memory attributes. One embodiment provides a graphics processor comprising a processing resource, a memory device, a cache coupled with the processing resources and the memory, and circuitry to process a memory access message received from the processing resource. The memory access message enables access to data of the memory device. To process the memory access message, the circuitry is configured to determine one or more cache attributes that indicate whether the data should be read from or stored the cache. The cache attributes may be provided by the memory access message or stored in state data associated with the data to be accessed by the access message.