Matrix Operation Unit for High-Performance Matrix Addition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer technologies face performance bottlenecks in matrix addition/subtraction operations due to limitations in general-purpose processors, GPUs, and customized matrix operation devices, including low operation performance, excessive code burden, limited inter-chip communication, and inflexible matrix size support.

Innovation Solution

A device and method for executing matrix addition/subtraction operations, featuring a storage unit, register unit, controlling unit, and matrix operation unit, with a customized hardware circuit that includes a scratchpad memory for flexible data support and parallel vector operations, addressing dependencies and optimizing performance through direct access and simplified instruction sets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a general-purpose processor is used to perform matrix addition/subtraction operations, then the device can execute scalar computation, but the operation performance becomes low due to the primary use of single general-purpose processor for scalar computation

Engineering Contradiction:
Improvematrix operation performanceVSAvoidoperation efficiency
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent divides the matrix operation into multiple independent vector operations that can be executed in parallel. Each vector operation unit processes a specific portion of the matrix, allowing simultaneous computation across multiple data elements. This segmentation enables the system to achieve high matrix operation performance while maintaining ease of operation through automated parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from scalar computation to vector computation by introducing multiple vector operation units that operate simultaneously on different data elements. This dimensional change from single-threaded scalar operations to multi-threaded vector operations significantly improves both productivity and ease of operation for matrix computations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiple general-purpose processors are used for concurrent execution, then the computation capability increases, but intercommunication among processors becomes a performance bottleneck

Engineering Contradiction:
Improveconcurrent computation capabilityVSAvoidintercommunication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple vector operation units into a unified architecture where all processors share common memory spaces and data buses. This merging eliminates the need for complex intercommunication protocols between distributed processors, as data can be directly accessed from shared memory. The unified architecture maintains high concurrent computation capability while reducing intercommunication complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If GPU is used to perform matrix addition/subtraction computation, then parallel processing capability is provided, but off-chip bandwidth becomes a main performance bottleneck due to constant transportation of off-chip data

Engineering Contradiction:
Improveparallel processing capabilityVSAvoiddata transportation cost
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements a hierarchical memory structure where L1 cache is nested within the vector operation units and L2 cache is nested within the processor core. This nested memory architecture keeps frequently accessed data close to the computational units, reducing the need for off-chip data transportation. The hierarchical structure maintains high parallel processing capability while minimizing bandwidth consumption by keeping data on-chip.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Productivity

If customized matrix operation device is used, then matrix operation performance is improved, but the device is unable to flexibly support matrix operations of different lengths due to register file limitations

Engineering Contradiction:
Improvematrix operation performanceVSAvoidmatrix size flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic register file allocation where the number of available registers is determined by the instruction format and can be adjusted at runtime. The register file can dynamically allocate resources based on the specific matrix operation requirements, allowing the customized device to flexibly support matrix operations of different lengths while maintaining high operation performance.

Inventive Principle:
Principle #15Dynamics

5Productivity

If current solutions are used for matrix addition/subtraction operations, then computation can be performed, but excessive codes and limited inter-chip communication create burden

Engineering Contradiction:
Improvecomputation capabilityVSAvoidcode quantity and communication overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the matrix operation functionality from the general-purpose instruction set and implements dedicated vector operation units with specialized hardware circuits. This extraction eliminates the need for excessive software codes by providing hardware-accelerated operations. The dedicated units also reduce inter-chip communication overhead by performing computations on-chip with direct memory access capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3910503A1Device and method for executing matrix addition/subtraction operation
Publication Date: 2021.11.17 CAMBRICON TECH CO LTD
  • EP3910503A1 patent drawingFigure 1~3
  • EP3910503A1 patent drawingFigure 4
  • EP3910503A1 patent drawingFigure 5

AI summary

A device for executing a matrix addition/subtraction operation is provided. The device for executing a matrix addition/subtraction operation includes a storage unit, a register unit, a controlling unit, and a matrix operation unit. The storage unit is configured to store matrix data associated with a matrix operation instruction. The register unit is configured to store scalar data associated with the matrix operation instruction. The controlling unit is configured to decode the matrix operation instruction and control the operation process of the matrix operation instruction. The matrix operation unit is configured to perform a matrix addition/subtraction operation on an inputting matrix according to the decoded matrix operation instruction. The matrix operation unit is a customized hardware circuit. A method for executing a matrix addition/subtraction operation is also provided.