Sparse matrix vector multiplication
AssigneeKnowles Electronics, LLC
InventorLeonardo Rub
Life of this patent
Estimating the term…
Loading patent…
AssigneeKnowles Electronics, LLC
InventorLeonardo Rub
Estimating the term…
Systems and methods for multiplying a sparse matrix by a vector using a single instruction multiple data (SIMD) architecture are provided. An example method includes sorting rows of the sparse matrix by a number of non-zero elements in the rows to generate sorted rows. The sorted rows are split to generate groups of the sorted rows. The number of rows in each group of the sorted rows is equal to the number of rows updated in parallel. The method allows for packing the sorted rows in each of the groups to generate packed rows. Each of the packed rows within the same group has the same length. Per clock cycle, C elements of the packed rows and data for selecting elements of the vector are provided to computational units in the SIMD architecture, where C is the number of computational units.
A system having a single instruction multiple data architecture, the system comprising:
The system of claim, 1 wherein the C computational units of the processor are divided among the R single dimensional sub-arrays.
A system having a single instruction multiple data (SIMD) architecture, the system comprising:
A method in a processor having a single instruction multiple data architecture including a plurality of computational units and memory, the method comprising:
A method in a processor for compressing an M×N sparse matrix for processing by a single instruction multiple data (SIMD) architecture processor having a plurality of computational units, the method comprising:
Dependencies are inferred from the claim text.