Matrix Operations Accelerator Circuit for Deep Learning Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face challenges in efficiently handling matrix operations, particularly in deep learning applications, due to the compute-heavy nature of matrix-matrix multiplication, which requires specialized hardware to improve peak compute and energy efficiency.

Innovation Solution

The implementation of a matrix operations accelerator circuit with a two-dimensional grid of multiplier circuits, registers, and a decoder to execute instructions efficiently, allowing for simultaneous multiplication and accumulation of matrix elements, and storage of results in registers or memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a two-dimensional grid of multiplier circuits is implemented, then the throughput and compute capability for matrix operations is improved, but the device complexity and hardware resources required increase

Engineering Contradiction:
ImprovethroughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The matrix multiplication operation is segmented into multiple cycles where different subsets of multiplier circuits are activated in each cycle. The first subset multiplies first elements by columns while the second subset multiplies second elements by columns, allowing progressive computation without requiring all multipliers to operate simultaneously at full capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically reconfigures which multiplier circuits are active in each cycle. The control logic enables different subsets of the two-dimensional grid to be utilized across multiple cycles, optimizing the balance between throughput and resource utilization based on computational progress.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If multiple subsets of multiplier circuits are used simultaneously, then the computational latency is reduced, but the energy consumption increases

Engineering Contradiction:
Improvecomputational latencyVSAvoidenergy consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The matrix multiplication is performed through periodic cycles where different subsets of multiplier circuits are activated alternately. In each cycle, specific subsets multiply specific elements, and this periodic activation pattern continues across multiple cycles to complete the full computation, reducing peak energy demand while maintaining progress.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP3757822B1Apparatuses, methods, and systems for enhanced matrix multiplier architecture
Publication Date: 2023.06.21 INTEL CORP
  • EP3757822B1 patent drawingFigure 1A~1B
  • EP3757822B1 patent drawingFigure 2(A)~2(C)
  • EP3757822B1 patent drawingFigure 3

AI summary

Systems, methods, and apparatuses relating to enhanced matrix multiplier architecture are described. In one embodiment, an apparatus includes a matrix operations accelerator circuit having a two-dimensional grid of multiplier circuits; a first plurality of registers that represents a first two-dimensional matrix coupled to the matrix operations accelerator circuit; a second plurality of registers that represents a second two-dimensional matrix coupled to the matrix operations accelerator circuit; a decoder, of a core coupled to the matrix operations accelerator circuit, to decode a single instruction into a decoded single instruction; and an execution circuit of the core to execute the decoded single instruction to store each element of the first two-dimensional matrix from the first plurality of registers into a respective clocked flip-flop circuit of each multiplier circuit of the two-dimensional grid of multiplier circuits, store a first element of a first proper subset of elements of the second two-dimensional matrix from the second plurality of registers into a single first clocked flip-flop circuit coupled to a first proper subset of multiplier circuits of the two-dimensional grid of multiplier circuits, store a second element of the first proper subset of elements of the second two-dimensional matrix from the second plurality of registers into a single second clocked flip-flop circuit coupled to a second proper subset of multiplier circuits of the two-dimensional grid of multiplier circuits, multiply the first element of the first proper subset of elements from the single first clocked flip-flop circuit by a respective element from the clocked flip-flop circuit of each multiplier circuit of the first proper subset of multiplier circuits to generate a first plurality of resultants, and multiply the second element of the first proper subset of elements from the single second clocked flip-flop circuit by a respective element from the clocked flip-flop circuit of each multiplier circuit of the second proper subset of multiplier circuits to generate a second plurality of resultants.