Sparse Matrix Compression API for Zero-Skipping MMA

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor systems waste computational resources on zero-value multiplications during matrix operations, especially with sparse matrices where most values are zero, leading to inefficient memory usage and computation in neural networks and machine learning applications.

Innovation Solution

A system that generates instructions to identify and store only non-zero elements of sparse matrices, using instructions like 'gather' and 'compress' to reduce zero multiplication operations, and 'scatter' to decompress results, optimizing matrix multiplication by processing only non-zero values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix operations are performed on sparse matrices, then complete matrix processing is achieved, but computational resources are wasted on zero-value multiplications

Engineering Contradiction:
Improvematrix operation efficiencyVSAvoidcomputational resource waste
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 and processing only these extracted elements, the system eliminates wasteful multiplications by zero while maintaining computational accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different processing strategies to different parts of the matrix based on their properties. Non-zero elements receive full computational processing, while zero elements are identified and excluded from multiplication operations. This local differentiation optimizes computational resources by applying appropriate processing only where necessary.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If all matrix elements are stored in memory, then complete matrix data is available, but memory usage increases unnecessarily for sparse matrices

Engineering Contradiction:
Improvememory storage capacityVSAvoidwasted memory space
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent extracts only the non-zero elements from sparse matrices for storage and processing. By identifying and storing only the positions and values of non-zero elements rather than the complete matrix, the system significantly reduces memory consumption while preserving all necessary computational information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the storage representation from storing all matrix elements to storing only non-zero elements with their position metadata. This parameter change in data representation transforms the storage efficiency, reducing memory usage from O(m×n) to O(k) where k is the number of non-zero elements.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If compression operations are applied to sparse matrices, then memory efficiency is improved, but processing complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the matrix processing into distinct phases: identification of non-zero elements, extraction of their positions and values, compression storage, computational operations on compressed data, and decompression for result generation. This segmentation manages complexity by breaking down the compression process into manageable, well-defined steps.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification and extraction of non-zero elements before compression and computation. By pre-processing the matrix to identify and separate non-zero elements, the system simplifies subsequent compression and computational operations, reducing overall processing complexity despite the additional initial step.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20220365833A1Application programming interface to compress data
Publication Date: 2022.11.17 NVIDIA CORP
  • US20220365833A1 patent drawing
  • US20220365833A1 patent drawing
  • US20220365833A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform an operation to indicate one or more non-zero values within one or more matrices of data; to perform an API to compress one or more matrices of data; to perform a matrix multiply accumulate (MMA) operation on two or more matrices of data, wherein at least one of the two or more matrices contain compressed data; and/or to perform an API to decompress one or more matrices of data. In at least one embodiment, one or more circuits are configured to receive and compile one or more instructions to perform computational operations for a sparse matrix multiplication.