GPU Systolic Array Output Sparsity for Matrix Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processors face inefficiencies in performing high-throughput matrix operations, particularly in applications like deep learning and general-purpose numerical computing, due to limitations in processing resources and functional units.

Innovation Solution

Implementing a systolic array architecture within graphics processing units (GPUs) that supports output sparsity, enabling efficient execution of matrix multiplication and dot product operations through structured output sparsity techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional fixed function computational units are used in graphics processors, then the processor can perform specific graphics operations reliably, but it cannot efficiently handle general-purpose numerical computing applications like deep learning and matrix operations

Engineering Contradiction:
Improvecapability to perform matrix operationsVSAvoidcomputational throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The computational units are divided into multiple processing elements arranged in a grid structure, where each element can independently perform computations. This segmentation enables parallel processing of matrix operations while maintaining flexibility for different computational patterns used in deep learning and general-purpose numerical computing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The computational units are designed with universal functionality to perform both traditional graphics operations and general-purpose numerical computing tasks. The same processing elements can be configured for different operations including matrix multiplication, dot products, and other computational kernels required by deep learning applications

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

2Productivity

If more processing resources and functional units are added to handle matrix operations, then computational capability improves, but device complexity increases

Engineering Contradiction:
Improvematrix operation throughputVSAvoidnumber of processing resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple processing elements are merged into a unified computational unit that shares common resources such as data pathways, control logic, and memory interfaces. This merging approach enables high-throughput matrix operations while reducing the overall device complexity compared to having completely separate functional units for each processing element

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Processing elements are arranged in a two-dimensional grid structure, adding spatial dimensionality to the architecture. This dimensional organization enables efficient data flow patterns for matrix operations without requiring a proportional increase in interconnect complexity, as adjacent elements in the grid can communicate through shared local pathways

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

3Productivity

If conventional processing architectures are used without output sparsity support, then all computational results are processed uniformly, but resource utilization efficiency decreases when output matrices contain many zero values

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs computations only for non-zero output elements by tracking sparsity patterns, rather than uniformly processing all elements in the output matrix. This partial action approach reduces computational overhead and improves resource utilization efficiency when the output matrix contains many zero values, as processing resources are directed only where needed

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different processing strategies are applied to different regions of the output matrix based on their sparsity characteristics. Elements identified as non-zero receive full computational processing, while zero elements are skipped or handled with simplified logic, creating local quality variations in the processing approach that optimize overall resource utilization

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20260010345A1Systolic array having support for output sparsity
Publication Date: 2026.01.08 INTEL CORP
  • US20260010345A1 patent drawing
  • US20260010345A1 patent drawing
  • US20260010345A1 patent drawing

AI summary

A processing apparatus is described herein that includes a general-purpose parallel processing engine comprising a matrix accelerator including one or more systolic arrays, at least one of the one or more systolic arrays comprising multiple pipeline stages, each pipeline stage of the multiple pipeline stages including multiple processing elements, the multiple processing elements configured to perform processing operations on input matrix elements based on output sparsity metadata. The output sparsity metadata indicates to the multiple processing elements to bypass multiplication for a first row of elements of a second matrix and multiply a second row of elements of the second matrix with a column of matrix elements of a first matrix.