Sparse Matrix Compression Core With Row-Pointer Fast Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine intelligence systems are computationally and energy intensive due to large data structures and immense discrete computations, posing challenges in storage, memory management, and parallelization, particularly with traditional artificial neural networks (ANNs) that are difficult to optimize for sparse data.

Innovation Solution

The development of methods and systems for rapid and efficient compression and decompression of sparse data using specialized data structures and clocked logic to store and retrieve sparse data values, non-sparse data value run lengths, and row pointers, facilitating efficient storage and computation in machine intelligence systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional ANN data structures are used to store sparse data, then storage space is wasted, but storage efficiency deteriorates

Engineering Contradiction:
Improvestorage space utilizationVSAvoidstorage efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments sparse matrix data into three separate compressed structures: non-zero values, column indices, and row pointers. This segmentation allows efficient storage by only storing non-zero elements while maintaining fast access capabilities through the pointer structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the storage format by changing parameters from dense matrix representation to sparse representation using compression techniques. This involves converting the data structure to store only essential information (non-zero values and their positions) rather than all elements, significantly reducing storage requirements.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If sparse data is compressed to save storage space, then storage efficiency improves, but computation speed deteriorates due to decompression overhead

Engineering Contradiction:
Improvestorage spaceVSAvoidcomputation speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent performs preliminary organization of sparse data into compressed formats with pre-computed row pointers and column indices during data loading or training phases. This preliminary structuring enables direct access to non-zero elements during inference without requiring decompression, thus maintaining computation speed while achieving storage compression.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary data structures (row pointers, column indices) that act as mediators between the compressed storage format and the computational processes. These intermediaries enable efficient navigation and access to sparse data elements without full decompression, bridging the gap between compressed storage and fast computation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If dense matrix format is used for storage, then access simplicity is maintained, but storage space increases significantly

Engineering Contradiction:
Improvedata access simplicityVSAvoidstorage space requirement
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential non-zero elements from the dense matrix and stores them in a compressed format. By taking out and storing only the necessary data (non-zero values with their positions), the system achieves significant storage space reduction while maintaining the ability to access required elements efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10644721B2Processing core data compression and storage system
Publication Date: 2020.05.05 TENSTORRENT AI ULC
  • US10644721B2 patent drawing
  • US10644721B2 patent drawing
  • US10644721B2 patent drawing

AI summary

Methods and systems regarding the rapid and efficient compression and decompression of sparse data are disclosed. One method for compressing a set of data from a sparse matrix includes, evaluating a sequence of data entries from the set of data, extracting a sequence of sparse data values from the sequence, extracting a sequence of non-sparse data value run lengths from the sequence, formulating a set of row pointers from the sequence, storing the sequence of sparse data values in a first set of memory addresses, and storing the sequence of non-sparse data value run lengths in a second set of memory addresses. The set of row pointers identify a set of rows of the sparse matrix in both the first and second sets of memory addresses. Rapid decompression can be conducted using the row pointers.