Structured-Sparsity Systolic Arrays for Efficient Matrix Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systolic arrays struggle to efficiently utilize structured sparsity in matrix data, leading to suboptimal performance and increased hardware and power consumption in machine learning workloads, particularly in neural networks with high sparsity levels.

Innovation Solution

Implement a systolic array architecture that incorporates selection circuits and structured sparsity techniques, allowing external agents to preprocess data and generate metadata for efficient matrix multiplication by identifying and utilizing sparse data elements, reducing unnecessary computations and data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional systolic arrays are used for matrix multiplication in neural networks, then the hardware can perform basic computations, but performance is suboptimal and power consumption increases due to inability to efficiently utilize structured sparsity

Engineering Contradiction:
Improvematrix multiplication performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent applies preliminary action by pre-processing the weight matrix to identify and pack non-zero elements before they enter the systolic array. Sparse matrix data is pre-packaged with metadata indicating the positions of non-zero elements, allowing the systolic array to skip zero-value computations entirely. This pre-processing step enables the hardware to focus computational resources only on meaningful operations, dramatically improving performance while reducing power consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements local quality by creating different data representation formats for different parts of the matrix data. Specifically, sparse matrix rows are represented with variable-length packed data and associated metadata, while dense matrix rows use standard formats. This localized adaptation allows the systolic array to process each row according to its actual characteristics, optimizing both performance and energy usage based on the local sparsity pattern of each matrix row.

Inventive Principle:
Principle #3Local quality

2Productivity

If conventional systolic arrays process all matrix elements uniformly, then hardware design is simple, but unnecessary computations on zero values waste time and resources

Engineering Contradiction:
Improveexecution timeVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the matrix processing into distinct segments: dense matrix processing and sparse matrix processing. The systolic array architecture includes separate input interfaces and data paths for handling sparse and dense data differently. Sparse data enters through a specialized interface that injects packed values at correct positions based on metadata, while dense data follows the conventional path. This segmentation allows the hardware to optimize for sparsity without compromising the ability to handle dense workloads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of metadata and control logic that mediates between the sparse matrix data and the systolic array processing units. The metadata contains position information that acts as an intermediary guide, telling the systolic array where to place and process non-zero elements. This intermediary layer abstracts the complexity of sparsity handling from the core computation units, allowing them to focus on arithmetic operations while the intermediary manages the data placement and skipping of zero values.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If sparse data is not pre-processed, then data movement is straightforward, but the systolic array performs unnecessary multiplications with zero values

Engineering Contradiction:
Improveenergy wasted on zero multiplicationsVSAvoiddata preprocessing complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies the taking out principle by extracting zero values from the sparse matrix data before it enters the systolic array. The pre-processing stage identifies and removes zero elements, retaining only non-zero values along with their position metadata. This extraction eliminates the need to move and process zero values through the hardware, directly reducing energy consumption. The extracted non-zero data is then fed into the systolic array in a compact format that minimizes data movement overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12405787B2Utilizing structured sparsity in systolic arrays
Publication Date: 2025.09.02 INTEL CORP
  • US12405787B2 patent drawing
  • US12405787B2 patent drawing
  • US12405787B2 patent drawing

AI summary

An apparatus to facilitate utilizing structured sparsity in systolic arrays is disclosed. The apparatus includes a processor comprising a systolic array to receive data from a plurality of source registers, the data comprising unpacked source data, structured source data that is packed based on sparsity, and metadata corresponding to the structured source data; identify portions of the unpacked source data to multiply with the structured source data, the portions of the unpacked source data identified based on the metadata; and output, to a destination register, a result of multiplication of the portions of the unpacked source data and the structured source data.