Sparse Matrix Vector Loading for Faster Matrix Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in performing matrix-to-matrix multiplication efficiently and quickly, which is critical for operations in fields like big data analysis and machine learning, particularly due to the large-scale operations involved.
Innovation Solution
A data operation method and device that utilize a memory to store sparse matrices, a vector unit for row-wise product-based matrix multiplication, and a memory load unit to load specific vector data, optimizing the matrix multiplication process by focusing on non-zero elements and applying thresholds to improve memory access and operation speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional matrix multiplication methods are used, then all elements including zeros are processed, but this increases computation time and memory access overhead
Solution Approach 1:
The patent extracts and processes only the non-zero elements from the first matrix, separating them from the zero elements. The memory load unit loads only the vector data corresponding to non-zero elements into the vector unit, eliminating the need to process zero elements entirely. This extraction principle directly resolves the contradiction by removing the time-wasting operation of processing zero elements while maintaining the correctness of the matrix multiplication result.
2Productivity
If all vector data is loaded into the vector unit, then complete matrix rows are available for operation, but this increases memory access overhead and reduces operation efficiency
Solution Approach 1:
The patent applies local quality by making the memory loading process selective rather than uniform. The memory load unit loads only the specific vector data portions that correspond to non-zero elements, rather than loading entire matrix rows uniformly. This localized, selective loading approach reduces memory access complexity and improves operation efficiency by focusing computational resources only on the relevant data portions.
Data Source
AI summary
A data operation device is disclosed. The data operation device comprises at least one memory configured to store a first data set represented as a first sparse matrix and a second data set represented as a second matrix, a vector unit configured to perform a row-wise product-based matrix multiplication operation based on the first sparse matrix and the second matrix and output a third data set represented as a third matrix, and a memory load unit configured to load into the vector unit first vector data associated with a row of the first sparse matrix from the first data set, and second vector data associated with a row of the second matrix that corresponds to an order of non-zero vector elements included in the first vector data from the second data set.


