Sparse-Dense Matrix Accelerator for Asymmetric Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional CPU and GPU instruction set architectures require symmetric inputs for sparse-dense matrix multiplication, limiting the ability to leverage the sparsity of sparse input matrices and hindering performance gains in deep learning applications.
Innovation Solution
An accelerator for sparse-dense matrix instructions that processes asymmetric inputs, utilizing SIMD processing lanes, multi-bank memories, and fused multiply-add circuits to improve throughput by up to 20-fold, specifically designed for sparse-dense matrix multiplication operations in deep learning contexts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional CPU and GPU instruction set architectures are used for sparse-dense matrix multiplication, then symmetric inputs are required, but the ability to leverage sparsity of sparse input matrices is limited
Solution Approach 1:
The patent applies asymmetry by designing an instruction set architecture that explicitly supports asymmetric sparse-dense matrix multiplication operations. The SDMM instruction allows the first operand to be sparse while the second operand remains dense, removing the symmetry requirement of traditional architectures. This enables the processor to efficiently handle operations where only one matrix exhibits sparsity patterns, thereby leveraging sparsity to improve computational performance without requiring both inputs to have the same density structure.
2Productivity
If symmetric input requirements are enforced for matrix multiplication, then implementation is simplified, but performance advantage from sparsity is hindered
Solution Approach 1:
The patent applies parameter changes by modifying the operational parameters of matrix multiplication to accommodate sparse-dense asymmetric inputs. The SDMM instruction changes the density parameter of the first operand to sparse while keeping the second operand dense, allowing the system to optimize for sparsity patterns. This parameter change enables the processor to skip operations on zero elements in the sparse matrix, thereby improving throughput by a factor proportional to the sparsity ratio without complicating the operational interface.
3Productivity
If traditional matrix multiplication instructions are used, then architectural simplicity is maintained, but throughput for sparse matrices is limited
Solution Approach 1:
The patent applies segmentation by dividing the matrix multiplication operation into distinct phases: sparse matrix loading, sparsity pattern identification, selective multiplication for non-zero elements only, and accumulation. The SDMM instruction segments the computational workflow to process only the non-zero elements of the sparse matrix, thereby improving throughput. This segmentation is implemented through specialized execution circuitry that handles sparse-dense multiplication differently from traditional dense-dense multiplication, achieving higher productivity while adding targeted complexity only where needed for sparsity exploitation.
Data Source
AI summary
Disclosed embodiments relate to an accelerator for sparse-dense matrix instructions. In one example, a processor to execute a sparse-dense matrix multiplication instruction, includes fetch circuitry to fetch the instruction having fields to specify an opcode, a dense output matrix, a dense source matrix, and a sparse source matrix having a sparsity of non-zero elements, the sparsity being less than one, decode circuitry to decode the fetched instruction, execution circuitry to execute the decoded instruction to, for each non-zero element at row M and column K of the specified sparse source matrix generate a product of the non-zero element and each corresponding dense element at row K and column N of the specified dense source matrix, and generate an accumulated sum of each generated product and a previous value of a corresponding output element at row M and column N of the specified dense output matrix.


