Matrix Multiplication Acceleration via Convolution Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing AI tasks, such as accelerated CNNs, provide high computational power for convolution operators but cannot accelerate matrix multiplication operators, which are crucial in various application scenarios like AI reasoning, computer vision, and scientific computation.

Innovation Solution

The method involves transforming matrix multiplication operators into convolution operators, allowing CNN accelerators to perform convolution operations to accelerate matrix multiplication by mapping matrices to suitable formats for processing by units supporting convolution operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If a MAC array is used to provide high computational power for convolution operators, then computing power for convolution operations is improved, but the ability to accelerate matrix multiplication operations deteriorates

Engineering Contradiction:
Improvecomputing power for convolution operationsVSAvoidcapability to perform matrix multiplication
Core Design Contradiction:
PowerVSAdaptability or versatility

Solution Approach 1:

The patent applies universality by enabling the convolution operator hardware to perform both convolution operations and matrix multiplication operations. By transforming matrix multiplication into convolution operation format and using the same MAC array and computational units, the system achieves multi-functionality without requiring separate dedicated hardware for each operation type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses parameter changes by transforming the parameters and format of matrix multiplication operations into the format expected by convolution operators. This involves mapping matrix dimensions and elements to convolution input data, weight data, and output data parameters, allowing the same hardware to process different operation types through parameter transformation.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If dedicated hardware for matrix multiplication is introduced, then matrix multiplication acceleration is improved, but device complexity increases

Engineering Contradiction:
Improvematrix multiplication accelerationVSAvoidhardware structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent avoids increasing device complexity by reusing the existing convolution operator hardware for matrix multiplication tasks. The same MAC array, data storage units, and control logic are used for both convolution and matrix multiplication, eliminating the need for dedicated matrix multiplication hardware and thus avoiding increased device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the functionality of convolution operations and matrix multiplication into a single hardware system. By combining these two operation types into one unified processing pipeline using the same computational units and data flow architecture, the system achieves matrix multiplication acceleration without duplicating hardware resources.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240354368A1Method and system for performing matrix multiplication using convolution-supporting unit, device, and medium
Publication Date: 2024.10.24 BEIJING YOUZHUJU NETWORK TECH CO LTD
  • US20240354368A1 patent drawing
  • US20240354368A1 patent drawing
  • US20240354368A1 patent drawing

AI summary

A method and a system for performing a matrix multiplication operator using a unit supporting convolution operator operation, an electronic device, and a non-transitory storage medium are provided. The method includes: transforming a first matrix of the matrix multiplication operator to an input data matrix of a convolution operator; transforming a second matrix of the matrix multiplication operator to a weight matrix of the convolution operator, matrix multiplication being performed on the first matrix and the second matrix; and performing a convolution operation on the input data matrix and the weight matrix, which are obtained through transforming, of the convolution operator using the unit supporting convolution operator operation to obtain an operation result of the matrix multiplication operator.