Sparse-Dense Matrix Accelerator for Skipping Zero-Value Cycles

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 execution circuitry with SIMD processing lanes, multi-bank memories, and compressed sparse formats to efficiently handle sparse and dense matrices, thereby avoiding processing cycles on zero-valued elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional CPU and GPU instruction set architectures are used for sparse-dense matrix multiplication, then symmetric inputs with the same density are required, but this limits the ability to leverage sparsity of sparse input matrices and hinders performance gains

Engineering Contradiction:
ImprovethroughputVSAvoidability to handle asymmetric sparse-dense inputs
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies asymmetry by designing execution circuitry that handles asymmetric sparse-dense matrix multiplication inputs. The circuitry processes a first input matrix with a first density and a second input matrix with a second density, where the densities can differ. This allows the system to efficiently process sparse matrices with varying densities without requiring symmetric inputs, directly resolving the contradiction between throughput improvement and adaptability to asymmetric inputs

Inventive Principle:
Principle #4Asymmetry

2Productivity

If traditional symmetric matrix multiplication circuits are used, then processing cycles are wasted on zero-valued elements, but modifying the circuit architecture to handle sparsity increases complexity

Engineering Contradiction:
Improveeffective processing throughputVSAvoidexecution circuitry architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by making different parts of the execution circuitry have different functions optimized for their specific tasks. The circuitry includes separate components for identifying non-zero elements, retrieving corresponding elements from the second input matrix, and accumulating products. This localized specialization allows efficient handling of sparse matrices without requiring complete architectural redesign, balancing productivity improvement with manageable complexity

Inventive Principle:
Principle #3Local quality

3Loss of time

If all elements of sparse matrices are processed including zero-valued elements, then the processing time increases proportionally to the matrix size, but skipping elements requires additional logic to identify non-zero elements

Engineering Contradiction:
Improveprocessing timeVSAvoidelement identification logic
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-processing the sparse input matrix to identify and store locations of non-zero elements before the multiplication operation. The execution circuitry uses these pre-identified locations to directly access and process only non-zero elements during multiplication. This preliminary identification step eliminates the need for complex real-time zero-element detection during processing, reducing processing time while keeping the added logic manageable

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12547672B2Accelerator for sparse-dense matrix multiplication
Publication Date: 2026.02.10 INTEL CORP
  • US12547672B2 patent drawing
  • US12547672B2 patent drawing
  • US12547672B2 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 sparse-dense matrix multiplication 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 sparse-dense matrix multiplication instruction, execution circuitry to execute the decoded sparse-dense matrix multiplication 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.