Memory Area Allocation for Sparse Matrix Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for machine learning using large-scale data struggle to efficiently secure memory volume for matrix processing, particularly in parallel processing scenarios, as they fail to effectively manage memory allocation based on the number of non-zero elements in matrices.
Innovation Solution
An area allocation device and method that specifies target arrays with non-zero elements in subarray information, calculates the number of these identifiers, and allocates memory based on that calculation to efficiently secure memory volume for matrix processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory area is allocated based on total matrix size, then memory coverage is sufficient, but memory usage efficiency deteriorates due to allocating space for zero-value elements
Solution Approach 1:
The patent extracts and processes only the non-zero elements from the matrix data. By identifying and working with only the necessary data elements (those with non-zero values), the system avoids allocating and processing memory for redundant zero-value elements, thus improving memory usage efficiency while maintaining sufficient coverage for actual computations
Solution Approach 2:
The patent applies different data structures and processing methods to different regions of the matrix based on their content characteristics. Non-zero elements are stored and processed with optimized structures that consume less memory, while zero elements are either omitted or handled differently. This local differentiation improves overall memory efficiency without compromising the ability to perform necessary matrix operations
2Reliability
If all matrix elements are processed in parallel, then processing completeness is ensured, but communication time increases due to data gathering overhead
Solution Approach 1:
The patent segments the matrix processing into independent units based on non-zero element locations. Each processing unit handles a specific subset of non-zero elements, allowing parallel processing without requiring constant communication and coordination between all processing units. This segmentation maintains processing completeness while reducing the overhead of data gathering and synchronization
Solution Approach 2:
The patent performs preliminary identification and organization of non-zero elements before the main parallel processing begins. By pre-processing the data to identify which elements require processing and organizing them into appropriate processing units, the system reduces the amount of communication and coordination needed during the actual parallel execution, thereby reducing communication time while ensuring all necessary elements are processed
Data Source
AI summary
Provided are an area allocation device and the like that can efficiently allocate memory volume for processing of matrix operations. The area allocation device specifies array identifiers representing positions of elements storing a value different from a predetermined value in each array of subarray information in array information, arrays consisting of a plurality of element, the array information including a plurality of information representing the arrays, the subarray information corresponding to at least a part of the arrays; calculates a number of the specified array identifiers; and allocates a memory area having a memory volume depending the calculated number.


