Sparse Matrix Multiplication Circuit for CNN Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Matrix multiplications involving sparse matrices in Convolutional Neural Networks (CNNs) are inefficient due to numerous multiplications by zero, consuming circuit time and power, and requiring significant storage space, necessitating a method to reduce the number of operations and storage needs.

Innovation Solution

A data processing apparatus and method that utilize receiver, determination, and aggregation circuitry to perform matrix operations on compressed matrices by determining interacting elements using correspondence data, reducing the number of operations and storage requirements by only processing non-zero elements and their locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix multiplication is performed on sparse matrices, then complete matrix operations are executed, but numerous multiplications by zero consume circuit time and power unnecessarily

Engineering Contradiction:
Improvematrix operation speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and processes only the non-zero elements of sparse matrices, separating them from the zero elements. By identifying the positions and values of non-zero elements only, the system performs matrix operations exclusively on these relevant elements, eliminating wasteful multiplications by zero while maintaining computational correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete matrix multiplication on all elements including zeros, the patent applies partial action by executing operations only on the subset of non-zero elements. This partial processing approach reduces the number of operations proportionally to the sparsity of the matrices, thereby reducing power consumption and circuit time usage.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If traditional matrix multiplication is performed on sparse matrices, then all elements are processed, but a large number of multiplications by zero take place consuming circuit time

Engineering Contradiction:
Improvematrix operation speedVSAvoidcircuit time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts and processes only the non-zero elements of sparse matrices, separating them from the zero elements. By identifying the positions and values of non-zero elements only, the system performs matrix operations exclusively on these relevant elements, eliminating wasteful multiplications by zero while maintaining computational correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete matrix multiplication on all elements including zeros, the patent applies partial action by executing operations only on the subset of non-zero elements. This partial processing approach reduces the number of operations proportionally to the sparsity of the matrices, thereby reducing power consumption and circuit time usage.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If sparse matrices are stored in traditional format, then all matrix elements are stored, but significant storage space is consumed due to large proportion of zero entries

Engineering Contradiction:
Improvestorage spaceVSAvoidwasted storage capacity
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent extracts and processes only the non-zero elements of sparse matrices, separating them from the zero elements. By identifying the positions and values of non-zero elements only, the system performs matrix operations exclusively on these relevant elements, eliminating wasteful multiplications by zero while maintaining computational correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If traditional matrix operation methods are used, then all sub-steps are performed, but the number of sub-steps cannot be reduced despite many having little effect on overall operation

Engineering Contradiction:
Improveoperation efficiencyVSAvoidnumber of sub-steps
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts and processes only the non-zero elements of sparse matrices, separating them from the zero elements. By identifying the positions and values of non-zero elements only, the system performs matrix operations exclusively on these relevant elements, eliminating wasteful multiplications by zero while maintaining computational correctness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete matrix multiplication on all elements including zeros, the patent applies partial action by executing operations only on the subset of non-zero elements. This partial processing approach reduces the number of operations proportionally to the sparsity of the matrices, thereby reducing power consumption and circuit time usage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11379556B2Apparatus and method for matrix operations
Publication Date: 2022.07.05 ARM LTD
  • US11379556B2 patent drawing
  • US11379556B2 patent drawing
  • US11379556B2 patent drawing

AI summary

There is provided a data processing apparatus to perform an operation on a first matrix and a second matrix. The data processing apparatus includes receiver circuitry to receive elements of the first matrix, elements of the second matrix, and correspondence data to indicate where the elements of the first matrix are located in the first matrix. Determination circuitry performs, using the correspondence data, a determination of whether, for a given element of the first matrix in column i of the first matrix, a given element of the second matrix occurs in row i of the second matrix. Aggregation circuitry calculates an aggregation between a given row in the first matrix and a given column in the second matrix and includes: functional circuitry to perform, in dependence on the determination, a function on the given element of the first matrix and the given element of the second matrix to produce a partial result.