GPU Cache Prefetching With Software Guidance for Multi-Tile Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processor technologies face inefficiencies in data access and sharing, particularly in multi-tile graphics processor architectures where geometry data is not locally available, hindering performance scaling.

Innovation Solution

Implementing page sharing across GPU sockets, page fault avoidance mechanisms, and software-assisted hardware prefetching to enhance data access and sharing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional data access methods are used in multi-tile graphics processor architectures, then device complexity is reduced, but data access efficiency deteriorates and latency increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoiddata sharing mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by implementing hardware prefetching mechanisms that proactively load geometry data into local caches before it is actually needed by processing tiles. Page fault avoidance mechanisms also prepare data in advance by pre-translating virtual addresses to physical addresses and pre-loading required pages into shared memory, eliminating wait times during data access operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary structures including a shared memory system that acts as a buffer between main memory and local tile caches, and a page sharing mechanism that mediates data exchange between multiple GPU sockets. These intermediaries facilitate efficient data sharing without requiring direct complex interconnections between all tiles, thus improving data access efficiency while managing device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If geometry data is not locally available in multi-tile architectures, then device complexity is reduced, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidlocal data availability
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system segments the memory hierarchy into multiple levels: local caches within each tile, shared memory across tiles, and main memory. This segmentation allows each tile to maintain fast local data access for frequently used geometry data while enabling efficient sharing of less frequently accessed data through the shared memory subsystem, thus maintaining processing speed without requiring all data to be locally available.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by allowing different tiles to have different data cached locally based on their specific processing needs and access patterns. The hardware prefetching mechanism adapts to local tile requirements by predicting and loading data specific to each tile's workload, ensuring that each tile has the most relevant geometry data locally available while maintaining overall system efficiency.

Inventive Principle:
Principle #3Local quality

3Productivity

If hardware prefetching is implemented without software assistance, then device complexity is reduced, but data access efficiency deteriorates

Engineering Contradiction:
Improvedata access efficiencyVSAvoidhardware prefetch mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges hardware prefetching mechanisms with software assistance by integrating prefetch instructions into the existing instruction set architecture and allowing software to directly control prefetch operations. This combination enables the hardware to execute sophisticated prefetching algorithms while the software provides high-level guidance on data access patterns, achieving superior data access efficiency without proportionally increasing device complexity since the hardware leverages existing software intelligence.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11934342B2Assistance for hardware prefetch in cache access
Publication Date: 2024.03.19 INTEL CORP
  • US11934342B2 patent drawing
  • US11934342B2 patent drawing
  • US11934342B2 patent drawing

AI summary

Embodiments are generally directed to graphics processor data access and sharing. An embodiment of an apparatus includes a circuit element to produce a result in processing of an application; a load-store unit to receive the result and generate pre-fetch information for a cache utilizing the result; and a prefetch generator to produce prefetch addresses based at least in part on the pre-fetch information; wherein the load-store unit is to receive software assistance for prefetching, and wherein generation of the pre-fetch information is based at least in part on the software assistance.