General-Purpose Systolic Array Cells for Sparse and Dynamic Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel computing systems, such as systolic arrays, GPUs, and many-core CPUs, are limited in their ability to perform operations beyond dense linear algebra, and lack flexibility in handling tasks like sparse linear algebra, sorting, and dynamic programming efficiently.

Innovation Solution

A systolic array design incorporating general-purpose arithmetic logic units (ALUs) and a register file, with crossbar switches connecting cells, allowing for flexible execution of loop-blocks that can perform operations like dense or sparse matrix multiplication, sorting, and dynamic programming without contention or arbitration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed-function systolic arrays (MXU, TPU, GPU tensor cores) are used, then matrix multiplication performance is improved, but versatility for other operations deteriorates

Engineering Contradiction:
Improvematrix multiplication performanceVSAvoidcapability for sparse linear algebra, sorting, dynamic programming
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal systolic array cell that can perform multiple operations including dense matrix multiplication, sparse matrix multiplication, sorting, and dynamic programming. Each cell contains general-purpose ALUs and a crossbar switch that can be configured through loop-block programming to execute different algorithms, eliminating the need for specialized hardware for each operation type.

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

Solution Approach 2:

The systolic array employs dynamic configuration through loop-block programming that can change the behavior of cells during execution. The crossbar switches and ALUs can be reconfigured between operations, allowing the same hardware to adapt to different computational tasks without physical reconfiguration, achieving both high performance and versatility.

Inventive Principle:
Principle #15Dynamics

2Productivity

If many-core CPUs are used, then parallel processing capability is improved, but core count and parallelism scale deteriorate

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcore count scaling
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the computational system into a large array of simple, identical systolic cells that can be scaled systematically. Each cell is a standardized unit containing ALUs and crossbar switches, allowing the system to achieve high parallelism through numerical scaling of the array dimensions rather than through complex many-core CPU architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The systolic array achieves scalable parallelism by changing the array dimensions (N×M cells) as a parameter. This allows systematic scaling from small to large configurations while maintaining the same simple cell design, avoiding the complexity of many-core CPU designs and enabling efficient parallel execution of operations across thousands of cells.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If vector machines are used, then computational simplicity is improved, but dimensionality and processing capability deteriorate

Engineering Contradiction:
Improvecompute unit simplicityVSAvoidoperation types beyond dense linear algebra
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transitions from one-dimensional vector machine architecture to a two-dimensional systolic array architecture. This dimensional expansion enables cells to receive inputs from multiple directions (top and left neighbors), perform operations, and propagate outputs to multiple destinations (bottom and right neighbors), thereby supporting a broader range of operations including sorting and dynamic programming while maintaining simple cell designs.

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

4Device complexity

If traditional systolic arrays with small node count are used, then hardware simplicity is improved, but parallel processing power deteriorates

Engineering Contradiction:
Improvenode countVSAvoidparallel processing power
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the computational system into a large number of simple, identical systolic cells arranged in an N×M grid. Each cell contains basic ALUs and crossbar switches, keeping individual node complexity low while achieving high overall parallel processing power through the large number of nodes working simultaneously on different data elements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250231906A1General-purpose systolic array
Publication Date: 2025.07.17 GDM HOLDING LLC
  • US20250231906A1 patent drawing
  • US20250231906A1 patent drawing
  • US20250231906A1 patent drawing

AI summary

A systolic array cell is described, the cell including two general-purpose arithmetic logic units (ALUs) and register-file. A plurality of the cells may be configured in a matrix or array, such that the output of the first ALU in a first cell is provided to a second cell to the right of the first cell, and the output of the second ALU in the first cell is provided to a third cell below the first cell. The two ALUs in each cell of the array allow for processing of a different instruction in each cycle.