Sparse Matrix Compression Core for Rapid Random Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Machine intelligence systems are computationally and energy intensive due to large data structures and sparse data management challenges, which are difficult to parallelize and require significant storage and memory resources.
Innovation Solution
A method and system for efficiently compressing and decompressing sparse data using specialized data structures and clocked logic units, allowing rapid random access and storage of directed graph data in processing cores, including multi-dimensional tiles with headers and payloads that store metadata and digest information for efficient computation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional ANNs store sparse data in conventional formats, then data can be readily retrieved for computation, but storage space requirements become excessively large
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 retaining meaningful data elements while enabling rapid retrieval through the pointer structures that organize the segmented data for computational access.
Solution Approach 2:
The patent transforms the data storage parameters by converting dense matrix representations into compressed sparse formats. This parameter change reduces the quantity of stored data from O(m×n) to O(nnz) where nnz is the number of non-zero elements, while the row pointer and column index parameters enable efficient random access retrieval.
2Quantity of substance
If sparse data is compressed using known methods, then storage requirements are reduced, but the ability to rapidly access and decompress data for computation is compromised
Solution Approach 1:
The patent performs preliminary organization of sparse data during the compression phase by pre-calculating and storing row pointer arrays and column index arrays. This preliminary action enables rapid decompression because the structure is already optimized for retrieval, eliminating the need for complex decompression algorithms and allowing direct access to non-zero elements during computation.
3Ease of operation
If traditional memory structures are used for sparse data, then random access is possible, but memory bandwidth consumption increases significantly
Solution Approach 1:
The patent extracts only the essential non-zero data elements from the sparse matrix and stores them in a compact format, removing redundant zero elements. This extraction reduces memory bandwidth consumption by eliminating unnecessary data transfers while the column index and row pointer structures maintain random access capability to the extracted non-zero elements.
Data Source
Figure 1
Figure 2
Figure 3
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 decompressed can be conducted using the row pointers.