Disaggregated Systolic Arrays for Sparse Matrix Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face challenges in efficiently accelerating matrix operations, particularly for sparse data, due to limitations in cache access latency and the need for optimized processing techniques to enhance performance in machine learning and graphics applications.

Innovation Solution

The implementation of a systolic array architecture within a GPU, which includes disaggregated systolic processing units and packed data compression/expansion operations, exploits block sparsity and decompression information to optimize training and inference processes, thereby accelerating sparse matrix multiply operations and improving cache access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional cache access methods are used in GPUs, then memory access is simplified, but cache access latency increases and performance deteriorates for matrix operations

Engineering Contradiction:
Improvematrix operation speedVSAvoidcache access latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The cache is segmented into multiple ways (e.g., 8-way set associative cache) where each way maintains separate data copies. This segmentation allows parallel access to different cache ways, reducing effective access latency by enabling simultaneous data retrieval from multiple segments rather than sequential access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by accessing multiple cache ways simultaneously rather than accessing a single cache line sequentially. This transforms the cache access from a one-dimensional sequential operation to a multi-dimensional parallel operation, effectively reducing latency for matrix operation data access.

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

2Productivity

If dense data processing is used, then processing simplicity is maintained, but performance on sparse data deteriorates due to wasted computational resources

Engineering Contradiction:
Improvesparse data processing throughputVSAvoidcomputational resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The systolic array processing elements are configured to detect and respond to local sparsity patterns in the data. Each processing element can identify zero or invalid elements in its local computation domain and skip unnecessary operations, allowing the system to adapt its processing behavior to the local data characteristics rather than uniformly processing all elements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by performing computations only on non-zero elements of sparse matrices. The systolic array selectively activates processing elements based on data sparsity, executing computations only where needed rather than performing full matrix operations, thereby eliminating wasted computational resources on zero elements.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If fixed function computational units are used, then hardware simplicity is maintained, but operational versatility deteriorates for supporting diverse machine learning operations

Engineering Contradiction:
Improveoperation type supportVSAvoidprocessing architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The systolic array processing elements are designed as universal computational units that can perform multiple operation types including matrix multiplication, convolution, and other neural network operations. Each processing element contains configurable arithmetic logic that can be programmed to execute different mathematical functions, allowing a single hardware architecture to support diverse machine learning workloads without requiring specialized fixed-function units for each operation type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250103547A1Systolic disaggregation within a matrix accelerator architecture
Publication Date: 2025.03.27 INTEL CORP
  • US20250103547A1 patent drawing
  • US20250103547A1 patent drawing
  • US20250103547A1 patent drawing

AI summary

Embodiments described herein include software, firmware, and hardware logic that provides techniques to perform arithmetic on sparse data via a systolic processing unit. One embodiment provides techniques to optimize training and inference on a systolic array when using sparse data. One embodiment provides techniques to use decompression information when performing sparse compute operations. One embodiment enables the disaggregation of special function compute arrays via a shared reg file. One embodiment enables packed data compress and expand operations on a GPGPU. One embodiment provides techniques to exploit block sparsity within the cache hierarchy of a GPGPU.