Sparse Matrix Mask Compression for Faster Non-Zero Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for storing and manipulating sparse matrices are inefficient due to the need for indirect addressing in dense-matrix structures, leading to slow processing and wasteful memory usage on zero-valued elements.
Innovation Solution
The implementation of a mask-based compression scheme that uses bitmasks to represent zero or non-zero elements, allowing for efficient packing and unpacking of data, reducing storage requirements and improving processing efficiency by eliminating unnecessary memory allocation for zero-valued elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If dense-matrix structures are used for storing sparse matrices, then the matrix can be stored in a standard format, but memory is wasted on zero-valued elements and processing speed decreases due to indirect addressing
Solution Approach 1:
The patent extracts only the non-zero elements from the sparse matrix and stores them in a compressed format, eliminating the waste of memory on zero-valued elements. This is achieved by identifying and removing the zero elements, keeping only the essential data that contributes to computation.
Solution Approach 2:
The patent segments the sparse matrix storage into multiple components: a compressed data array containing only non-zero elements, and an index array that maps the compressed data back to their original positions. This segmentation allows efficient memory usage while maintaining the ability to access elements in their original context.
2Quantity of substance
If traditional CSR or CSC formats are used for sparse matrices, then storage is optimized, but indirect addressing is required for every scalar operation leading to slow processing
Solution Approach 1:
The patent introduces an intermediary indexing mechanism that maps compressed array indices to original matrix positions. This intermediary layer enables direct addressing in the compressed format while maintaining the semantic meaning of the original matrix structure, eliminating the need for indirect addressing during operations.
Solution Approach 2:
The patent performs preliminary organization of data during the compression phase, arranging non-zero elements and their indices in an optimized structure. This preliminary action ensures that subsequent operations can proceed with direct addressing without requiring additional indirect lookup steps during computation.
Data Source
AI summary
A method, system, and program product accesses chunks of data identifying data elements. A mask is used to identify a position of the data elements that have zero values and that have non-zero values. The data elements are processed based on the mask. For compression of data, data elements in chunks of data that have zero values and that have non-zero values are determined. A mask is used to identify a position of the data elements that have zero values and that have non-zero values. The data elements in the chunks of data having zero values are removed. The data elements having non-zero values are packed into the chunks to form the compressed data. For decompressing the data, zero-value data elements are added in positions in the chunks of data according to the mask to form uncompressed data.


