Inference Engine Circuit Architecture for Matrix Multiplication Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing architectures face challenges in efficiently performing matrix-by-matrix multiplication, which is crucial for deep learning applications like convolutional neural networks, due to high computational demands and memory access bandwidth limitations, leading to inefficiencies and prolonged processing times.

Innovation Solution

The proposed inference engine circuit architecture includes a matrix-matrix processor circuit with multiple matrix-vector and vector-vector acceleration circuits, optimized data networks, and control multiplexers to efficiently perform matrix-by-matrix multiplication, reducing power consumption and increasing scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional computing architectures are used to perform matrix-by-matrix multiplication, then the system can execute deep learning applications, but the processing time is prolonged and efficiency is reduced due to high computational demands and memory access bandwidth limitations

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The computing architecture is segmented into specialized matrix-vector and vector-vector acceleration circuits that operate in parallel. The matrix-by-matrix multiplication is divided into multiple matrix-vector products, each handled by dedicated circuitry. This segmentation enables simultaneous execution of multiple computational tasks, dramatically improving processing speed while reducing overall processing time for deep learning operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more computational resources are allocated to perform matrix multiplication faster, then processing speed increases, but power consumption and circuit complexity increase

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

Solution Approach 1:

Different regions of the computing architecture are assigned specialized functions with optimized resource allocation. Matrix-vector acceleration circuits use dedicated multipliers and accumulators configured for specific matrix dimensions, while vector-vector circuits handle residual computations. This local specialization ensures that computational throughput is maximized in each region without requiring excessive power consumption across the entire system, as each local circuit only performs its specific function efficiently.

Inventive Principle:
Principle #3Local quality

3Productivity

If a complete matrix-by-matrix multiplication capability is implemented, then high efficiency is achieved with significant utilization, but device complexity and bandwidth requirements increase

Engineering Contradiction:
ImproveefficiencyVSAvoidcircuit architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computing architecture employs dynamic resource allocation where matrix-vector and vector-vector acceleration circuits can be selectively activated based on the specific computational requirements of the deep learning layer being executed. Control logic dynamically configures data flow paths and activates only the necessary circuit components for each operation, achieving high efficiency and utilization while avoiding the need for permanently complex circuitry that would be required for all possible matrix operation types simultaneously.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11675624B2Inference engine circuit architecture
Publication Date: 2023.06.13 MICRON TECHNOLOGY INC
  • US11675624B2 patent drawing
  • US11675624B2 patent drawing
  • US11675624B2 patent drawing

AI summary

An inference engine circuit architecture is disclosed which includes a matrix-matrix (MM) processor circuit and a MM accelerator circuit having multiple operating modes to provide a complete matrix multiplication. A representative MM accelerator circuit includes a first buffer circuit storing maps data; a first data network; multiple second buffer circuits each storing different kernel data; multiple second, serial data networks, with each coupled to a corresponding second buffer circuit; and a plurality of vector-vector (VV) acceleration circuits arranged in a plurality of arrays. Each VV acceleration circuit includes multiply and accumulate circuits; a shift register; a control multiplexer to provide a selected output, in response to a mode control word, of a bias parameter or a first accumulation sum; and a second adder circuit which adds the multiplicative product to the bias parameter or to the first accumulation sum to generate a second or next accumulation sum.