Vector Processing Circuitry for Matrix Multiplication Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face inefficiencies in performing matrix multiplication with vectors, particularly in machine learning inference tasks, due to suboptimal handling of variable vector content and fixed weights, which affects computational efficiency, processing time, and energy consumption.

Innovation Solution

Incorporating circuitry within a processing unit that reads a vector from memory, multiplies it with a scalar value extracted from a vector register, and performs element-by-element sum operations, using an immediate field value to define a pointer for memory access, thereby optimizing matrix-vector multiplication processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processor architectures are used for matrix-vector multiplication, then general-purpose computing is maintained, but computational efficiency and processing speed deteriorate

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into specialized functional units including vector processing units, matrix processing units, and tensor processing units. Each unit is optimized for specific operations (vector multiplication, matrix multiplication, tensor operations), allowing parallel processing of different computational stages simultaneously, thereby improving overall computational efficiency without requiring a complete redesign of the entire processor architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor architecture incorporates dynamic resource allocation mechanisms where computational units can be dynamically configured and activated based on the specific operation requirements. The control logic dynamically routes data between different processing units and adjusts operational parameters in real-time, enabling the system to adapt to varying computational demands while maintaining efficiency.

Inventive Principle:
Principle #15Dynamics

2Speed

If traditional memory access methods are used, then memory flexibility is maintained, but processing time increases

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory access time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

Data is pre-loaded into on-chip buffer memories and scratchpad memories before being needed for computation. The control logic anticipates upcoming computational requirements and prepares data in advance, reducing the time spent on memory access during actual processing operations. This preliminary data preparation significantly accelerates processing speed by minimizing latency-critical memory access operations.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If conventional multiplication approaches are used, then algorithm simplicity is maintained, but energy consumption increases

Engineering Contradiction:
Improveenergy consumptionVSAvoidcomputational performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The processor replaces conventional sequential multiplication algorithms with hardware-accelerated parallel multiplication circuits. Dedicated multiplication units perform operations in parallel using optimized circuit designs that reduce the number of computational steps and minimize energy dissipation per operation. This substitution of algorithmic approaches with hardware-optimized methods maintains computational accuracy while significantly reducing energy consumption.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP4167074A1Matrix and vector manipulation to support machine learning inference and other processes
Publication Date: 2023.04.19 MELLANOX TECHNOLOGIES LTD(IL)
  • EP4167074A1 patent drawingFigure 1A~1B
  • EP4167074A1 patent drawingFigure 2
  • EP4167074A1 patent drawingFigure 3

AI summary

Apparatuses, systems, and techniques to improve processing efficiency. In at least one embodiment, a processing unit includes circuitry that reads a vector from memory and multiplies the vector with a scalar value extracted from a scalar field of a vector register. The scalar field may be specified by an immediate field value that is also used to identify an offset used to define a pointer that points to a location in the memory from which to read the vector.