GPU Cache Priority and Partitioning for Lower Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face challenges in optimizing cache efficiency and utilization, particularly in parallel graphics data processing, which can lead to increased access latency and reduced performance.

Innovation Solution

The proposed solution involves a system and method for improving cache efficiency by controlling first-level cache priority, partitioning shared cache usage, and implementing opt-in hardware cache coherency, specifically designed for general-purpose graphics processing units (GPGPUs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared cache is used for parallel processing, then processing capacity increases, but access latency increases due to contention

Engineering Contradiction:
Improveparallel processing capacityVSAvoidcache access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The shared cache is segmented into multiple ways (e.g., 8-way set associative cache) where each way can be independently accessed. This segmentation allows parallel processing threads to access different cache ways simultaneously, increasing processing capacity while reducing access latency through parallel cache access paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by implementing multiple independent cache access paths (ways) within the shared cache structure. This dimensional expansion allows simultaneous access from multiple processing units without traditional contention, resolving the latency issue while maintaining high processing capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If cache size is increased to improve utilization, then more data can be cached, but access latency increases due to larger search space

Engineering Contradiction:
Improvecache utilizationVSAvoidcache access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The large shared cache is segmented into multiple smaller ways, each capable of independent access. This segmentation allows the system to maintain a large total cache size for high utilization while providing multiple parallel access paths that reduce the effective search time, as each way can be accessed simultaneously rather than sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements excessive parallel access paths (more ways than strictly necessary) to ensure that even as cache size grows, access latency does not increase. By providing more access paths than the minimum required, the system maintains constant access latency while accommodating larger cache capacities.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If cache coherence protocols are implemented, then data consistency is improved, but processing performance deteriorates due to protocol overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Each processing unit maintains its own view of cache state and performs self-service coherence management. The independent cache ways automatically maintain consistency through their isolated access paths without requiring centralized coherence protocols, thereby maintaining data consistency while avoiding the performance overhead of traditional cache coherence mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250103548A1Systems and methods for improving cache efficiency and utilization
Publication Date: 2025.03.27 INTEL CORP
  • US20250103548A1 patent drawing
  • US20250103548A1 patent drawing
  • US20250103548A1 patent drawing

AI summary

Systems and methods for improving cache efficiency and utilization are disclosed. In one embodiment, a graphics processor includes processing resources to perform graphics operations and a cache controller of a cache coupled to the processing resources. The cache controller is configured to control cache priority by determining whether default settings or an instruction will control cache operations for the cache.