Systolic Array Input Reduction for Arbitrary Bit-Length MAC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional systolic arrays face challenges in supporting arbitrary bit-length inputs without significant increases in power consumption, size, and complexity, leading to inefficiencies in processing shorter bit-lengths and increased costs for supporting longer bit-lengths.

Innovation Solution

A systolic array with reducers that convert inputs to reduced bit-lengths, enabling single-pass or multiple-pass computations to maintain performance and efficiency, allowing arbitrary bit-length inputs while using lower-cost, lower-power elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the systolic array supports increased bit-lengths (e.g., 32-bit floating-point numbers), then computational accuracy is improved, but processing speed and power consumption are negatively impacted

Engineering Contradiction:
Improvecomputational accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The input data with increased bit-length is segmented into multiple reduced bit-length inputs that can be processed in parallel or sequentially by the systolic array elements, allowing accurate computation without requiring each element to natively support the full bit-length

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The bit-length parameter of the input data is dynamically adjusted or reduced to match the native capabilities of the systolic array elements, optimizing processing speed while maintaining computational accuracy through multiple passes or reduced precision operations

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If the systolic array supports increased bit-lengths, then computational accuracy is improved, but device size and complexity increase

Engineering Contradiction:
Improvecomputational accuracyVSAvoidprocessing element complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The processing task is segmented into multiple stages where input data is broken down into reduced bit-length components, allowing the use of simpler processing elements that don't require complex circuitry to handle high bit-lengths directly

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary data representation format is introduced where high bit-length inputs are converted into multiple reduced bit-length values that serve as intermediates, enabling accurate computation through simpler processing elements

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If the systolic array supports increased bit-lengths, then computational accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The computation is segmented into multiple passes processing reduced bit-length data, reducing the power consumption of each individual processing element while achieving the same computational accuracy through accumulated results

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Simpler, lower-power processing elements are used that can handle reduced bit-length data, replacing the need for expensive, high-power elements that would be required to natively support increased bit-lengths

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS12423058B2Systolic array with input reduction to multiple reduced inputs
Publication Date: 2025.09.23 AMAZON TECH INC
  • US12423058B2 patent drawing
  • US12423058B2 patent drawing
  • US12423058B2 patent drawing

AI summary

Systems and methods are provided to perform multiply-accumulate operations of reduced precision numbers in a systolic array. Each row of the systolic array can receive reduced inputs from a respective reducer. The reducer can receive a particular input and generate multiple reduced inputs from the input. The reduced inputs can include reduced input data elements and/or a reduced weights. The systolic array may lack support for inputs with a first bit-length and the reducers may reduce the bit-length of a given input from the first bit-length to a second shorter bit-length and provide multiple reduced inputs with second shorter bit-length to the array. The systolic array may perform multiply-accumulate operations on each unique combination of the multiple reduced input data elements and the reduced weights to generate multiple partial outputs. The systolic array may sum the partial outputs to generate the output.