Matrix Accelerator Load Store Cache for Tensor Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming models for graphics processors require extensive address calculations for data access, reducing the efficiency of matrix/tensor operations due to the need for manual management of large data transfers, which hampers performance in compute workloads.

Innovation Solution

The implementation of hardware enhancements for batch memory access instructions that allow efficient loading and storing of 2D blocks from n-dimensional tensor data, offloading scalar address calculations to a dedicated Load Store Cache unit, thereby reducing latency and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual address calculations are used for data access in existing programming models, then programmers can control data transfer at lower levels of abstraction, but the overall efficiency of computations is reduced due to extensive address calculations and manual management of large data transfers

Engineering Contradiction:
Improve programmer control over data transferVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces hardware intermediaries (Load Store Cache unit and batched memory access instructions) that mediate between the software kernel and memory access operations. These hardware components automatically handle address calculations and data transfer management, freeing the software from manual control while maintaining high computational efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual mechanical address calculations with automated hardware-based memory access mechanisms. The Load Store Cache unit and batched memory access instructions substitute the software-based address calculation process with hardware-accelerated operations, significantly improving computational efficiency while reducing the burden on software kernels.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If extensive address calculations are performed for memory access, then correct data can be accessed in memory, but latency increases and performance is reduced

Engineering Contradiction:
Improvedata access correctnessVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-computing and storing batched memory access patterns in the Load Store Cache unit before actual data access occurs. This allows the hardware to automatically retrieve correct data without performing time-consuming address calculations during the critical data access phase, thereby reducing latency while maintaining correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Load Store Cache unit acts as an intermediary that pre-processes address calculations and stores them in advance. This intermediary layer absorbs the computational overhead of address calculations away from the main computation timeline, ensuring both correct data access and reduced latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If manual management of large data transfers is performed by software kernels, then data can be transferred between memory and processor, but the computational burden on software increases

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidsoftware kernel complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces the Load Store Cache unit as a hardware intermediary that handles data transfer operations between memory and processor. This intermediary absorbs the complexity of data transfer management, including address calculations and data movement coordination, thereby reducing the computational burden on software kernels while maintaining high data transfer capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces software-based data transfer management with hardware-accelerated mechanisms. The batched memory access instructions and Load Store Cache unit substitute the mechanical process of manual data transfer management with automated hardware operations, significantly reducing software complexity while preserving data transfer productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20240069914A1Hardware enhancements for matrix load/store instructions
Publication Date: 2024.02.29 INTEL CORP
  • US20240069914A1 patent drawing
  • US20240069914A1 patent drawing
  • US20240069914A1 patent drawing

AI summary

Embodiments described herein provide a system to enable access to an n-dimensional tensor in memory of a graphics processor via a batch of two-dimensional block access messages. One embodiment provides a graphics processor comprising general-purpose graphics execution resources coupled with the system interface, the general-purpose graphics execution resources including a matrix accelerator. The matrix accelerator is configured to perform a matrix operation on a plurality of tensors stored in a memory. Circuitry is included to facilitate access to the memory by the general-purpose graphics execution resources. The circuitry is configured to receive a request to access a tensor of the plurality of tensors and generate a batch of two-dimensional block access messages along a dimension of n>2 of the tensor. The batch of two-dimensional block access messages enables access to the tensor by the matrix accelerator.