Tensor Core Sparse Matrix Multiplication via Offline Compaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware solutions struggle to efficiently perform matrix multiplication with unstructured sparsity due to load imbalance and high hardware overhead, which limits their ability to scale with commercial accelerators like GPUs.

Innovation Solution

The proposed method, referred to as Eureka, employs single-step unidirectional displacement (SUDS) and offline compaction to improve load balance and compute utilization. SUDS allows filter elements' multiplication to occur either in their original position or be displaced to a vacant MAC in the adjacent row, while maintaining output stationarity. Additionally, a larger multiplexer is used for offline compaction to reduce output buffering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If unstructured sparsity is exploited to reduce compute work, then performance and energy efficiency improve, but load imbalance and hardware overhead increase

Engineering Contradiction:
Improvecompute throughputVSAvoidhardware overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies offline compaction to pre-process sparse matrices before multiplication, reorganizing non-zero elements into a compact format that eliminates load imbalance during runtime. This preliminary action transforms unstructured sparsity into a structured form that tensor cores can process efficiently without requiring complex runtime hardware modifications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and processes the sparsity pattern information separately from the dense computation. By identifying and isolating non-zero elements through offline compaction, the system can apply standard dense matrix multiplication hardware (tensor cores) to the compacted data, avoiding the need for specialized sparse computation hardware while still exploiting sparsity benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If unstructured sparsity is exploited to reduce compute work, then performance and energy efficiency improve, but load imbalance occurs

Engineering Contradiction:
Improvecompute throughputVSAvoidload balance
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

Offline compaction is performed before matrix multiplication to reorganize sparse matrices into a compact format where non-zero elements are contiguously arranged. This preliminary reorganization ensures uniform work distribution across tensor core processing elements, eliminating load imbalance that would otherwise occur with unstructured sparsity patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the structural parameters of sparse matrices through offline compaction, transforming them from unstructured formats with irregular non-zero element distribution into compact formats with regular, uniform patterns. This parameter transformation enables balanced load distribution while maintaining the sparsity-induced performance benefits.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If custom sparse computation hardware is added to handle unstructured sparsity, then sparse matrix multiplication efficiency improves, but area overhead and scalability are reduced

Engineering Contradiction:
Improvesparse compute efficiencyVSAvoidhardware area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent creates a compacted copy of the sparse matrix data in a structured format that is compatible with existing dense computation hardware. Instead of modifying the hardware to handle unstructured sparsity, the system prepares a transformed version of the data that can be processed by standard tensor cores, avoiding area overhead while maintaining sparse computation efficiency.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes existing dense matrix multiplication hardware (tensor cores) universal by enabling them to handle both dense and sparse matrices through offline compaction. The same hardware infrastructure processes both dense matrices directly and compacted sparse matrices, eliminating the need for separate specialized sparse computation units and their associated area overhead.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If existing tensor cores are used for dense matrix multiplication, then hardware utilization is high, but they cannot efficiently process unstructured sparse matrices

Engineering Contradiction:
Improvehardware utilizationVSAvoidsparsity handling capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent prepares sparse matrices in advance through offline compaction, transforming them into a format that matches the input requirements of existing tensor cores. This preliminary data preparation enables standard tensor core hardware to process sparse matrices with the same high utilization efficiency as dense matrices, without requiring any hardware modifications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the data format parameters of sparse matrices through compaction, converting them from unstructured formats incompatible with tensor cores into compact structured formats that tensor cores can process efficiently. This parameter transformation extends the adaptability of existing hardware to handle both dense and sparse workloads uniformly.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250124104A1Tensor cores for one-sided unstructured sparsity
Publication Date: 2025.04.17 PURDUE RES FOUND
  • US20250124104A1 patent drawing
  • US20250124104A1 patent drawing
  • US20250124104A1 patent drawing

AI summary

A method for multiplying a sparse matrix (SM) with a full matrix, includes receiving a SM, left aligning each row based on a maximum number of non-sparse cells in each said row, generating a left aligned matrix, displacing at least one cell from an original row into another row of the left aligned matrix to thereby generate at least one new sparse column in said SM to thus reduce sparsity by discarding said at least one new sparse column, thus generating a critical-path-reduced matrix, and wherein the at least one displaced cell includes a flag identifying said cell has been displaced from the original row in the SM, and multiplying the critical-path-reduced matrix with the full matrix using a multiplier, wherein the product from each cell having a displacement flag is moved and accumulated to an accumulator within the multiplier associated with remainder of data for said original row.