Aperture-Specific Cache Operations for CPU-GPU Coherency Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache coherency systems in high-performance computing (HPC) systems face inefficiencies and latency issues due to software-managed CPU-GPU coherency, particularly in latency-sensitive systems like ADAS and ADS, and hardware coherency incurs needless overhead for non-coherent memory buffers.

Innovation Solution

Implementing aperture-specific cache management operations to differentiate between coherent and non-coherent system memory buffers, using hardware-managed coherency for coherent buffers and explicit flushes/invalidates for non-coherent buffers, thereby reducing latency and maintaining cache efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware coherency is used for all memory buffers, then cache coherency is maintained, but needless overhead is incurred for non-coherent memory buffers

Engineering Contradiction:
Improvecache coherencyVSAvoidcoherency management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by differentiating between coherent and non-coherent memory buffers and applying different coherency management strategies to each. Coherent buffers use hardware-managed coherency, while non-coherent buffers use software-managed coherency with explicit flushes and invalidates. This selective approach reduces unnecessary overhead for non-coherent buffers while maintaining coherency where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments memory buffers into two distinct categories: coherent buffers and non-coherent buffers. This segmentation allows the system to apply different coherency management mechanisms to each segment, optimizing performance by avoiding hardware coherency overhead for non-coherent buffers while ensuring coherency for coherent buffers.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If software-managed CPU-GPU coherency is used, then flexibility is maintained, but latency increases in latency-sensitive systems

Engineering Contradiction:
Improvecoherency management flexibilityVSAvoidcoherency latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements dynamic coherency management by switching between hardware-managed and software-managed coherency based on buffer type. For coherent buffers, hardware coherency is used to minimize latency. For non-coherent buffers, software management provides flexibility. This dynamic adaptation allows the system to optimize between performance and flexibility based on actual workload requirements.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If unified cache coherency operations are applied to all memory, then simplicity is maintained, but destructive interference occurs between coherent and non-coherent cache lines

Engineering Contradiction:
Improvecoherency operation simplicityVSAvoidcache line interference
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

Solution Approach 1:

The patent applies local quality by treating coherent and non-coherent cache lines differently. By tagging cache lines with coherence status information, the system can selectively apply coherency operations only where needed, preventing destructive interference between coherent and non-coherent cache lines while maintaining operational simplicity through automated classification.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250342120A1Systems and methods for aperture-specific cache operations
Publication Date: 2025.11.06 NVIDIA CORP
  • US20250342120A1 patent drawing
  • US20250342120A1 patent drawing
  • US20250342120A1 patent drawing

AI summary

A processing device including a first cache is coupled to a system memory and a parallel processing unit (PPU) including a second cache. An operation to modify cache lines of the second cache associated with a first aperture of the system memory is received. A first subset of cache lines of the second cache is identified. The first subset of cache lines is associated with the first aperture of the system memory and is different from a second subset of cache lines of a second aperture of the system memory. The first subset of cache lines is modified as specified by the cache operation.