Matrix Index Bit String Generation for Sparse Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for indexing sparse matrices, such as CSR, face issues with increased memory overhead when sparsity is low, requiring multiple memory accesses to retrieve information about matrices with a small number of non-zero elements.

Innovation Solution

Generating matrix index information using a bit string that represents both the number and position of non-zero elements, allowing for constant-sized index information even as sparsity decreases, and reducing memory accesses by including all element information in a single memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If compressed sparse row (CSR) indexing is used for sparse matrices, then the indexing method is widely applicable, but the memory overhead increases and considerable overhead occurs when the matrix has low sparsity

Engineering Contradiction:
Improveindexing method applicabilityVSAvoidmemory overhead
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent changes the fundamental parameter of index representation from variable-length formats (CSR) to fixed-length bit strings. Each element's position is encoded in a constant number of bits regardless of sparsity level, transforming the indexing structure to eliminate the overhead problem while maintaining universal applicability across different matrix sparsity levels

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of storing only non-zero element positions as CSR does, the patent inverts the approach by creating a bit string where each bit position corresponds to a matrix element position. This inverted representation method allows constant-size storage that works efficiently for both sparse and dense matrices, resolving the adaptability-overhead contradiction

Inventive Principle:
Principle #13The other way round (Inversion)

2Productivity

If CSR indexing is used to identify index size and position, then sparse matrix operations can be performed, but multiple memory accesses are required and considerable overhead occurs

Engineering Contradiction:
Improvesparse matrix operation efficiencyVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges the index size information and position information into a single bit string structure. By combining these previously separate pieces of information into one unified data structure, the system eliminates multiple memory accesses and reduces the overhead associated with managing separate index arrays, thereby improving productivity while reducing time loss

Inventive Principle:
Principle #5Merging (Combining)

3Loss of information

If index information is stored for all matrix elements, then complete position information is available, but the index size increases for matrices with many elements

Engineering Contradiction:
Improveposition information completenessVSAvoidindex information size
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent applies parameter change by using fixed-width bit representations for element positions. By encoding positions in a constant number of bits (sufficient to address the maximum matrix dimension), the system maintains complete position information for all elements while preventing index size from growing with matrix size, thus resolving the contradiction between information completeness and storage quantity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20230281269A1Matrix index information generation method, matrix processing method using matrix index information, and device
Publication Date: 2023.09.07 IND ACAD COOP GRP OF SEJONG UNIV
  • US20230281269A1 patent drawing
  • US20230281269A1 patent drawing
  • US20230281269A1 patent drawing

AI summary

Disclosed are a method for generating matrix index information about a target matrix including a sparse matrix, and a method for processing a matrix using matrix index information. The disclosed matrix index information generation method comprises the steps of: confirming elements of a target matrix; and generating a bit stream which includes one or more bits each allocated to each of the elements and indicating position information about the element within the target matrix.