Variable-Precision Matrix Multiplication via Digit Decomposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional matrix multiplication systems are inadequate for high-performance low-precision operations, particularly with 2-bit or 4-bit precisions and smaller matrix dimensions, due to limitations in throughput, latency, and scalability, and they often require fixed data types, making them unsuitable for variable-precision matrix multiplications.

Innovation Solution

A system and method utilizing a low-precision digit matrix multiplier that decomposes matrices into sub-matrices, processes them using a systolic array of dot product units, and applies scaling and rounding to achieve variable-precision matrix multiplications, allowing for efficient computation across different precisions and dimensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional scalar or data-parallel processors use fixed-precision multipliers (8, 16, 32, or 64-bit), then hardware simplicity is maintained, but adaptability to variable-precision operations is lost

Engineering Contradiction:
Improveprecision adaptabilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the data into digit-level components (e.g., 2-bit or 4-bit digits) rather than processing full-precision words. This allows a simple fixed-precision digit multiplier to handle variable-precision operations by processing smaller granular components, achieving precision adaptability without requiring complex variable-precision hardware for each operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the precision parameter dynamically by adjusting the number of digit-level operations and accumulation steps rather than changing the fundamental hardware architecture. The same digit multiplier can perform 2-bit, 4-bit, or higher precision operations by varying the computation depth and accumulation count, maintaining hardware simplicity while achieving parameter adaptability.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If Bit-serial Matrix Multiply (BISMO) uses bit-level decomposition, then variable-precision support is achieved, but throughput is limited and wiring congestion increases

Engineering Contradiction:
Improveprecision variabilityVSAvoidmatrix multiplication throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments matrices into blocks of fixed-size digit matrices (e.g., 4x4 blocks of 2-bit digits) that can be processed in parallel by a systolic array. This block-level segmentation enables efficient pipelining and parallel processing, achieving high throughput while maintaining variable-precision support through the digit-level decomposition within each block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from bit-serial processing to a two-dimensional block matrix structure where digit matrices are arranged in blocks. This dimensional change enables parallel processing of multiple digit matrices simultaneously in the systolic array, dramatically improving throughput compared to sequential bit-level processing while preserving precision variability.

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

3Productivity

If systolic arrays are used for matrix multiplication, then computational efficiency is improved, but latency increases making them unsuitable for embedded applications

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the matrix multiplication into small block operations (e.g., 4x4 digit matrix blocks) that can be processed in parallel with low latency. By breaking down the computation into smaller units that fit within the systolic array's processing capacity, the system achieves both high computational efficiency and reduced latency, making it suitable for embedded applications with tight timing requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial matrix multiplications on small digit blocks rather than processing entire matrices at once. This partial action approach reduces the latency of individual operations while maintaining overall computational efficiency through parallel processing of multiple blocks, striking a balance between efficiency and speed for embedded applications.

Inventive Principle:
Principle #16Partial or excessive action

4Use of energy by moving object

If low-precision operations (2-bit or 4-bit) are performed, then power consumption and latency are reduced, but manufacturing precision requirements increase

Engineering Contradiction:
Improvepower consumptionVSAvoiddigit multiplier precision
Core Design Contradiction:
Use of energy by moving objectVSManufacturing precision

Solution Approach 1:

The patent segments the multiplication process into multiple stages where low-precision digit multipliers process small blocks of data. By breaking down the computation into smaller steps with smaller precision requirements at each stage, the system achieves low power consumption while maintaining acceptable manufacturing precision through the accumulation of results from multiple precise but low-cost digit operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the precision parameter dynamically based on the computational requirements. For low-power operation, it uses 2-bit or 4-bit digit multipliers that consume less energy, and compensates for the reduced precision through multiple accumulation steps and proper scaling, achieving the desired overall precision without requiring high-precision hardware throughout the entire computation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20230359694A1System and method for implementing variable-precision matrix multiplication using low-precision digit matrix multiplier
Publication Date: 2023.11.09 XCELERIUM INC
  • US20230359694A1 patent drawing
  • US20230359694A1 patent drawing
  • US20230359694A1 patent drawing

AI summary

A system and method for implementing variable-precision matrix multiplications using a low-precision digit matrix multiplier is disclosed. The system enables multiplication of matrices of different dimensions by splitting the large matrix into fixed-size matrix blocks. These block matrices are further decomposed into fixed-precision digit submatrices that are then individually multiplied, scaled, and accumulated to allow for variable-precision matrix multiplication. The system uses a systolic array of block matrix multipliers, which are each an array of dot product units, to efficiently implement larger matrix multiplications without substantially increasing either latency or wiring congestion. The system further uses only unsigned digit matrix multipliers but accounts for signed matrix multiplication by using row and column sums of the input matrices to adjust for the signed to unsigned conversion.