Floating Point Multiply-Accumulate Unit with Speculative Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks (DNNs) face significant computation costs due to high demands for multiply-accumulate operations and weight operand storage, particularly in energy-constrained mobile and embedded systems, where existing FPMAC units are inefficient and fail to optimize half-precision floating-point operations, leading to performance and energy bottlenecks.

Innovation Solution

The proposed solution involves a DNN accelerator with a data storing module that splits operands into two portions, a concatenating module that sequences these portions for efficient processing, and a processing element (PE) array with flexible FPMAC units that perform various compute patterns, including vector-vector, matrix-vector, and matrix-matrix operations, along with speculative alignment and separated critical paths for alignment and normalization, enhancing space and energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional FPMAC units are used for deep neural network inference, then floating-point computation can be performed, but energy consumption is excessive and processing speed is slow in mobile and embedded systems

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The FPMAC unit is segmented into separate alignment logic and critical path logic. The alignment logic handles exponent comparison and mantissa alignment independently, while the critical path logic focuses on multiplication and accumulation. This segmentation allows parallel processing of alignment and computation, improving throughput while reducing per-operation energy consumption by avoiding redundant operations in the critical path.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Exponent alignment is performed as a preliminary action before the critical multiplication and accumulation path. The alignment logic prepares the operands by comparing exponents and shifting mantissas in advance, so that when data enters the critical path, the multiplication can proceed immediately without waiting for alignment completion. This preliminary action increases processing speed while the energy cost is distributed across non-critical stages.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If high-precision floating-point operations are performed to maintain accuracy, then computation accuracy is improved, but computation cost and resource requirements increase significantly

Engineering Contradiction:
Improvecomputation accuracyVSAvoidcomputation cost
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The FPMAC unit supports dynamic parameter changes in floating-point precision (e.g., switching between FP32, FP16, BF16 formats). By allowing the precision parameters to be adjusted based on application requirements, the system can maintain high accuracy when needed while reducing computational cost for less demanding operations. The hardware is designed to handle various precision levels efficiently without requiring separate dedicated units for each precision level.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If separate alignment and critical path logic are implemented, then processing throughput is improved, but device area increases

Engineering Contradiction:
Improveprocessing throughputVSAvoiddevice area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The alignment logic and critical path logic are merged into a single integrated FPMAC unit structure. The alignment logic feeds directly into the critical path without requiring separate physical units, allowing data to flow continuously through both stages. This merging achieves high throughput by eliminating inter-unit data transfer delays while controlling area growth through shared resource utilization and efficient spatial arrangement of logic elements within the unified structure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20220188075A1Floating point multiply-accumulate unit for deep learning
Publication Date: 2022.06.16 INTEL CORP
  • US20220188075A1 patent drawing
  • US20220188075A1 patent drawing
  • US20220188075A1 patent drawing

AI summary

A FPMAC operation has two operands: an input operand and a weight operand. The operands may have a format of FP16, BF16, or INT8. Each operand is split into two portions. The two portions are stored in separate storage units. Then operands are transferred to register files of a PE, with each register file storing bits of an operand sequentially. The PE performs the FPMAC operation based on the operands. The PE may include an FPMAC unit configured to compute an individual partial sum of the PE. The PE may also include an FP adder to accumulate the individual partial sum with other data, such as an output from another PE or an output form another PE array. The FP adder may be fused with the FPMAC unit in a single circuit that can do speculative alignment and has separate critical paths for alignment and normalization.