Partitioned Systolic Array for Small-Matrix Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance of matrix product operations in systolic arrays is degraded when the multiplier matrix is smaller than the array size, leading to reduced usage of processor elements and unnecessary power consumption due to multiply-add operations with zero.

Innovation Solution

Partition the systolic array into smaller sub-arrays and utilize a controller to manage the output signals of processing elements, allowing parallel matrix calculations across these partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the systolic array processes matrix product operations with small multiplier matrices, then the array can handle various matrix sizes, but the performance is degraded due to reduced processor element usage and unnecessary power consumption

Engineering Contradiction:
Improveability to handle various matrix sizesVSAvoidarithmetic calculation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent divides the systolic array into multiple partitions (first systolic array and second systolic array) positioned downstream of each other. This segmentation allows the array to process multiple matrix operations simultaneously by routing different data streams to different partitions, thereby maintaining high processor element usage even when handling small multiplier matrices, and eliminating unnecessary power consumption from unused elements.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the systolic array uses all processor elements for matrix operations, then the calculation performance is maximized, but power is wasted when processing small matrices that require fewer elements

Engineering Contradiction:
Improvearithmetic calculation performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces a controller that dynamically switches output signals from processors based on the operation requirements. The controller routes signals to appropriate partitions downstream, enabling the system to activate only the necessary processor elements for each specific matrix operation size, thereby avoiding power waste while maintaining calculation performance.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the systolic array is partitioned into multiple sub-arrays, then the number of usable processor elements increases for small matrices, but the device complexity increases

Engineering Contradiction:
Improvenumber of processor elements utilizedVSAvoidarray structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple systolic array partitions into a single integrated structure where the first and second systolic arrays are positioned downstream of each other within the same array framework. This merging approach allows the system to treat multiple partitions as a unified resource, managing them through a single controller that routes signals appropriately, thereby increasing usable processor elements without proportionally increasing overall device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20260017341A1Systolic array, information processing apparatus, and method for arithmetic operation
Publication Date: 2026.01.15 FUJITSU LTD
  • US20260017341A1 patent drawing
  • US20260017341A1 patent drawing
  • US20260017341A1 patent drawing

AI summary

A systolic array includes a plurality of processing elements, the systolic array including a first systolic array and a second systolic array that are obtained by partitioning the systolic array, and a controller. The second systolic array is positioned downstream of the first systolic array. Each of the plurality of processing elements includes a selector that selectively outputs an output signal, and the controller switches the output signals of the plurality of processing elements from the selectors between first processing elements positioned on a last stage of the first systolic array and second processing elements, the second processing elements being processing elements of the second systolic array and processing elements of the first systolic array except for the first processing elements.