Accumulator Overflow Handling in Convolver Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks, particularly convolutional neural networks, face high power consumption due to intensive computational processing, leading to accumulation overflows in convolution operations, which existing technologies have not effectively managed to address.

Innovation Solution

A low power hardware architecture for convolutional engines that includes a convolver unit with an accumulator that detects overflows and disables the dot product computation module by clock gating or clamping inputs, allowing the system to enter a low power mode until all accumulators complete their cycles, enabling efficient handling of accumulation overflows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the dot product computation module continues operating after an accumulation overflow, then computational throughput is maintained, but power consumption increases unnecessarily

Engineering Contradiction:
Improvecomputational throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system uses periodic clock gating to enable the dot product computation module only during necessary accumulation cycles and disable it during overflow conditions. The controller periodically re-enables the module based on overflow status, creating a rhythmic on-off pattern that reduces power consumption while maintaining productivity when needed.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The harmful element (continuous operation of the dot product computation module during overflow) is extracted and removed by disabling the module when overflow conditions are detected. This separates the operational states into necessary computation periods and idle overflow periods, eliminating wasted energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If convolver units immediately restart accumulation cycles after overflow, then processing speed is maintained, but synchronized output sampling becomes difficult

Engineering Contradiction:
Improveprocessing speedVSAvoidsynchronized output sampling
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The system merges the operation timelines of multiple convolver units by having them all wait in a low-power state until the latest unit completes its accumulation. This synchronization point allows all units to be sampled simultaneously, maintaining stable output composition while minimizing overall processing delay through efficient resource utilization.

Inventive Principle:
Principle #5Merging (Combining)

3Use of energy by moving object

If the dot product computation module is disabled during overflow, then power consumption is reduced, but computational productivity decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidcomputational throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The dot product computation module operates periodically rather than continuously, being enabled only during valid accumulation cycles and disabled during overflow conditions. This periodic operation pattern reduces power consumption while maintaining computational throughput during active periods, achieving an optimal balance between energy efficiency and productivity.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12165041B2Low power hardware architecture for handling accumulation overflows in a convolution operation
Publication Date: 2024.12.10 TENSORDYNE INC
  • US12165041B2 patent drawing
  • US12165041B2 patent drawing
  • US12165041B2 patent drawing

AI summary

In a low power hardware architecture for handling accumulation overflows in a convolver unit, an accumulator of the convolver unit computes a running total by successively summing dot products from a dot product computation module during an accumulation cycle. In response to the running total overflowing the maximum or minimum value of a data storage element, the accumulator transmits an overflow indicator to a controller and sets its output equal to a positive or negative overflow value. In turn, the controller disables the dot product computation module by clock gating, clamping one of its inputs to zero and/or holding its inputs to constant values. At the end of the accumulation cycle, the output of the accumulator is sampled. In response to a clear signal being asserted, the dot product computation module is enabled, and the running total is set to zero for the start of the next accumulation cycle.