Variable Format Sparsity Matrix Multiplication Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional matrix multiplication approaches lack flexibility to support various data formats and sparsity levels, leading to inefficiencies in power consumption and performance, particularly in machine learning applications where matrix operations are key.

Innovation Solution

A processor architecture that executes a variable-format, variable-sparsity matrix multiplication instruction, utilizing a reconfigurable execution circuit to handle different data formats and sparsity levels by avoiding zero multiplications through blocking and handshake-based routing, allowing for efficient processing of dense or sparse matrices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional specialized matrix multiplication approaches are used, then specific data formats can be processed, but flexibility to support various data formats and sparsity levels is lost

Engineering Contradiction:
Improveflexibility to support various data formats and sparsity levelsVSAvoidcomplexity of execution circuit
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The execution circuit is designed as a universal machine that can process multiple data formats (8-bit/16-bit integers, 16-bit/32-bit floating point) and both dense and sparse matrices using the same hardware architecture. The circuit incorporates format detection logic and configurable multiplication units that adapt to different input formats without requiring separate specialized circuits for each data type, thereby achieving multi-functionality while controlling complexity.

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

Solution Approach 2:

The execution circuit employs dynamic configuration capabilities where the multiplication units can be reconfigured based on the detected data format and sparsity level. The circuit dynamically adjusts its operation mode to handle different computational requirements, switching between dense matrix multiplication and sparse matrix multiplication modes as needed, allowing the same hardware to adapt to varying workloads efficiently.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If dense matrix multiplication is performed without sparsity awareness, then simple processing is maintained, but power consumption increases due to unnecessary zero multiplications

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The circuit performs preliminary detection of sparsity levels in the input matrices before initiating the multiplication process. This preliminary action allows the system to identify zero elements and configure the multiplication units accordingly in advance, enabling efficient processing by avoiding unnecessary multiplications of zero elements while maintaining high throughput for non-zero elements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution circuit extracts and separates zero elements from non-zero elements in sparse matrices, allowing the multiplication process to focus exclusively on non-zero elements. By taking out the zero elements that would otherwise require processing, the circuit reduces unnecessary computational operations and associated power consumption while preserving the correctness of the matrix multiplication result.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple specialized circuits are implemented for different data formats, then each format can be processed efficiently, but device area and cost increase

Engineering Contradiction:
Improveprocessing accuracy for different formatsVSAvoidcircuit area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

Rather than implementing separate specialized circuits for each data format, the invention employs a single universal execution circuit that can handle all specified formats (8-bit/16-bit integers, 16-bit/32-bit floating point) through configurable multiplication units and format detection mechanisms. This universal approach maintains processing accuracy across different formats while significantly reducing the overall circuit area and implementation cost.

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

Solution Approach 2:

The multiplication units are designed with parameter change capabilities that allow them to operate correctly across different data formats by adjusting their internal configuration parameters. The circuit can change its operational parameters based on the detected format, enabling the same hardware to process various data types accurately without requiring separate dedicated circuits for each format.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If variable format and sparsity support is added to existing matrix multiplication units, then flexibility is improved, but existing units cannot be reused without modification

Engineering Contradiction:
Improvesupport for variable formats and sparsityVSAvoidreusability of existing circuitry
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The execution circuit is designed as a universal machine that integrates variable format and sparsity support capabilities into a single reusable architecture. The circuit incorporates format detection logic and configurable multiplication units that can be reused across different applications and data formats, eliminating the need for multiple specialized circuits and simplifying manufacturing and deployment.

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

Solution Approach 2:

The circuit employs dynamic configuration capabilities that allow existing hardware resources to be reused and reconfigured for different data formats and sparsity levels. The multiplication units can dynamically adjust their operation based on the input characteristics, enabling the same circuitry to serve multiple purposes without requiring manufacturing modifications or redesigns.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3579117B1Variable format, variable sparsity matrix multiplication instruction
Publication Date: 2024.05.29 INTEL CORP
  • EP3579117B1 patent drawingFigure 1
  • EP3579117B1 patent drawingFigure 2
  • EP3579117B1 patent drawingFigure 3

AI summary

Disclosed embodiments relate to a variable format, variable sparsity matrix multiplication (VFVSMM) instruction. In one example, a processor includes fetch and decode circuitry to fetch and decode a VFVSMM instruction specifying locations of A, B, and C matrices having (M x K), (K x N), and (M x N) elements, respectively, execution circuitry, responsive to the decoded VFVSMM instruction, to: route each row of the specified A matrix, staggering subsequent rows, into corresponding rows of a (M x N) processing array, and route each column of the specified B matrix, staggering subsequent columns, into corresponding columns of the processing array, wherein each of the processing units is to generate K products of A-matrix elements and matching B-matrix elements having a same row address as a column address of the A-matrix element, and to accumulate each generated product with a corresponding C-matrix element.