Inference Engine Circuit Architecture for Matrix Multiplication Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If more computational resources are allocated to perform matrix multiplication faster, then processing speed increases, but power consumption and circuit complexity increase
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.
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
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.
Data Source
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.


