Formatted Matrix Data Structure for Sparse Vector Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data structures for sparse matrices are inefficient in performing vector multiply operations due to the large number of zero elements, leading to poor performance in applications like structural engineering and computational fluid dynamics.
Innovation Solution
A formatted matrix data structure (FMDS) is created by partitioning sparse matrices into slabs and tiles, with non-zero elements stored in packets to minimize scatter operations and improve cache utilization, allowing for efficient vector multiplication across multiple hardware platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sparse matrices are stored in conventional data structures, then the complete matrix structure is preserved, but vector multiply operations become inefficient due to the large number of zero elements
Solution Approach 1:
The patent extracts only the non-zero elements from the sparse matrix and stores them in a specialized data structure with explicit row and column index tracking. This extraction eliminates the need to process zero elements during vector multiplication, directly resolving the technical contradiction by removing harmful operations while preserving the functional structure needed for computation.
Solution Approach 2:
The patent segments the sparse matrix storage into distinct components: row indices, column indices, and non-zero values, organized in a structured format. This segmentation allows the computation system to process only relevant non-zero elements during vector multiplication, improving productivity by avoiding unnecessary operations on zero elements.
2Quantity of substance
If all matrix elements are stored including zeros, then the matrix structure is complete and simple to access, but memory usage increases and cache utilization deteriorates
Solution Approach 1:
The patent extracts only the non-zero elements from the full matrix and stores them in a compact format with associated index information. This extraction reduces the quantity of stored data significantly for sparse matrices, improving memory storage efficiency while the structured organization of indices maintains reasonable access complexity.
Solution Approach 2:
Instead of storing the matrix in the conventional way (rows and columns with zeros included), the patent inverts the approach by storing only the non-zero elements with their position information. This inversion fundamentally changes the storage paradigm from dense to sparse format, achieving better memory efficiency.
3Productivity
If non-zero elements are distributed throughout the matrix structure, then the original matrix topology is maintained, but scatter operations increase and cache utilization decreases
Solution Approach 1:
The patent merges the storage of non-zero elements with their position information into a unified structured format. By combining the values with their row and column indices in a single organized structure, the patent reduces scatter operations during computation, as all necessary information is co-located and accessible in a systematic manner, thereby improving cache utilization.
Data Source
AI summary
A computer system retrieves a slice of sparse matrix data, which includes multiple rows that each includes multiple elements. The computer system identifies one or more non-zero values stored in one or more of the rows. Each identified non-zero value corresponds to a different row, and also corresponds to an element location within the corresponding row. In turn, the computer system stores each of the identified non-zero values and corresponding element locations within a packet at predefined fields corresponding to the different rows.


