Matrix Multiplication Integrated Circuit Using Addition-Only Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional matrix multiplication methods require significant space and time, especially for large matrices, due to the need for multiplier chips and scalar multiplication operations, which limits computational efficiency in applications like machine learning and graphics processing.

Innovation Solution

A special purpose integrated circuit that performs matrix multiplication using only addition, replacing scalar multiplication with a small number of additions, allowing for a single matrix-multiplier chip design without a multiplication unit, thus reducing space and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix multiplication methods are used with multiplier chips and scalar multiplication operations, then computational accuracy is maintained, but chip space consumption increases and processing time increases

Engineering Contradiction:
Improvecomputational speedVSAvoidchip space
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent extracts and removes the multiplication unit from the matrix multiplier chip, keeping only the addition unit. This is achieved by transforming the matrix multiplication algorithm to use only addition operations through vector sorting and duplicate elimination, thereby reducing chip space while maintaining computational functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the computational parameter from multiplication operations to addition-only operations. By modifying the algorithm to sort vectors and eliminate duplicates before accumulation, the system transforms the mathematical operation type, enabling implementation with simpler addition-only hardware.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If traditional matrix multiplication methods are used with scalar multiplication operations, then computational completeness is maintained, but processing time increases

Engineering Contradiction:
Improveprocessing timeVSAvoidalgorithm complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary actions by sorting the vector and eliminating duplicates before performing the accumulation operation. This preprocessing step organizes the data in advance, enabling the subsequent addition-only accumulation to proceed more efficiently and complete faster than traditional multiplication methods.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If vector sorting and duplicate elimination are performed, then the number of additions required is reduced, but computational steps increase

Engineering Contradiction:
Improvenumber of operationsVSAvoidalgorithm steps
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies partial action by performing sorting and duplicate elimination only on the vector being multiplied, not on the entire matrix. This selective preprocessing reduces the number of additions required in the accumulation step while avoiding the excessive complexity of sorting entire matrices, achieving a balanced optimization.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240192920A1Special Purpose Integrated Circuits and Methods for Matrix Multiplication Using Only Addition
Publication Date: 2024.06.13 CELTA CONSULTORES LTD
  • US20240192920A1 patent drawing
  • US20240192920A1 patent drawing
  • US20240192920A1 patent drawing

AI summary

Special purpose integrated circuits and methods for matrix multiplication are disclosed. In some embodiments, a special purpose integrated circuit is constructed to perform mathematical operations. For matrix A and matrix B, an outer product of each column i of matrix A [vector Ai] and a corresponding row i of matrix B [vector Bi], for all i, is used to calculate all the products used for determining matrices A and B. A product matrix C (where A×B=C) is assembled using additions of the elements of the calculated outer products. Each outer product of Ai and Bi may be calculated using a series of vector-scalar products. Each vector-scalar product is calculated using the vector Bi and a selected element of Ai as the scalar. Thus, calculating the vector-scalar product for all the elements of Ai will produce the outer product of Ai and Bi.