Sparse-Dense Matrix Accelerator for Asymmetric Input Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 multiplication (SDMM) instructions that process 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 deep learning contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional CPU and GPU instruction set architectures are used for sparse-dense matrix multiplication, then the computation can be performed, but the symmetric input requirement limits the ability to leverage sparsity and reduces throughput

Engineering Contradiction:
ImprovethroughputVSAvoidability to leverage sparsity
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies asymmetry by designing separate processing paths for sparse and dense matrices. The execution circuitry includes dedicated sparse matrix processing units that handle sparse inputs differently from dense matrices, allowing the system to exploit sparsity patterns while maintaining compatibility with traditional matrix multiplication operations. This asymmetric treatment enables throughput improvement proportional to the sparsity of the input matrix.

Inventive Principle:
Principle #4Asymmetry

2Adaptability or versatility

If symmetric input requirements are enforced for matrix multiplication, then traditional CPU/GPU architectures can be used, but performance advantage from sparsity is lost

Engineering Contradiction:
Improveinput format flexibilityVSAvoidperformance gain
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The execution circuitry is segmented into multiple specialized units: sparse matrix processing units, dense matrix processing units, and accumulation units. This segmentation allows different parts of the system to handle different input types optimally, with sparse matrix units exploiting sparsity patterns through specialized data structures and computation paths, while dense matrix units handle the corresponding dense operations.

Inventive Principle:
Principle #1Segmentation

3Productivity

If traditional matrix multiplication instructions are used, then symmetric inputs are processed, but the sparsity of sparse input matrices cannot be exploited

Engineering Contradiction:
Improvethroughput enhancementVSAvoidexecution circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple processing units into a unified execution circuitry that can handle both sparse and dense matrix operations. The sparse matrix processing units, dense matrix processing units, and accumulation units are integrated to work together on the same hardware platform, allowing the system to achieve high throughput for sparse-dense matrix multiplication while maintaining a cohesive device architecture.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250272354A1Accelerator for sparse-dense matrix multiplication
Publication Date: 2025.08.28 INTEL CORP
  • US20250272354A1 patent drawing
  • US20250272354A1 patent drawing
  • US20250272354A1 patent drawing

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 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.