Configurable Weight Registers for Faster Systolic Array Flushing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The flushing latency in systolic arrays for neural network processing adds significant latency and degrades performance by propagating old weights to unused columns, affecting throughput.

Innovation Solution

Implement a configurable pipeline register that selects between propagating weight values or flush values based on control signals, reducing flushing latency by not propagating weights to non-computation-involved columns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If weights are propagated through all columns in a systolic array, then weight loading is simplified, but flushing latency increases and throughput degrades

Engineering Contradiction:
ImprovethroughputVSAvoidflushing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The pipeline register is made configurable to dynamically switch between two modes: propagating weight values during weight loading phase, and propagating flush values during flushing phase. This dynamic reconfiguration allows the system to adapt its behavior based on the operational phase, eliminating the need to propagate weights through unused columns and thereby reducing flushing latency while maintaining simplified weight loading mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter being propagated through the pipeline register based on the operational phase. During weight loading, the register propagates weight values; during flushing, it propagates flush values (e.g., zero values). This parameter change allows the flushing operation to clear weights from the array without unnecessarily propagating them through all columns, thus reducing flushing latency and improving throughput.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If a configurable pipeline register is implemented to select between weight propagation and flush value propagation, then flushing latency is reduced, but device complexity increases

Engineering Contradiction:
Improveflushing latencyVSAvoidregister configuration complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The pipeline register is designed to serve multiple functions: it acts as a weight propagation register during weight loading and as a flush value propagation register during flushing operations. By making the register configurable, a single hardware component performs multiple roles, avoiding the need for separate dedicated registers for each function. This multi-functionality reduces overall device complexity while achieving the goal of reduced flushing latency.

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

Data Source

PatentUS12608335B1Weight loading in an array with a configurable weight register to selectively store a flush value
Publication Date: 2026.04.21 AMAZON TECH INC
  • US12608335B1 patent drawing
  • US12608335B1 patent drawing
  • US12608335B1 patent drawing

AI summary

Disclosed herein are techniques for obtaining weights for neural network computations. In one embodiment, an integrated circuit may include memory configured to store a first weight and a second weight; a row of processing elements comprising a first processing element and a second processing element, the first processing element comprising a first weight register, the second processing element comprising a second weight register, both of the first weight register and the second weight register being controllable by a weight load signal; and a controller configured to: provide the first weight from the memory to the row of processing elements; set the weight load signal to enable the first weight to propagate through the row to reach the first processing element; and set the weight load signal to store the first weight at the first weight register and a flush value at the second weight register.