Matrix Decomposition for GPU-PIM Sparse Multiplication Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU architectures face inefficiencies when processing sparse matrices due to load imbalance and irregularity, which traditional matrix representations and algorithms fail to address effectively, especially in modern processor architectures.

Innovation Solution

Decompose matrices into dense and sparse components, with the GPU handling dense matrix multiplications and a PIM device handling sparse matrix multiplications, leveraging the strengths of both architectures to improve overall efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix representations and algorithms are used in GPU architectures, then dense matrix operations can be performed efficiently, but sparse matrix operations suffer from load imbalance and irregularity

Engineering Contradiction:
Improvematrix multiplication efficiencyVSAvoidload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments the matrix multiplication operation by decomposing sparse matrices into dense blocks and sparse elements. The GPU processes dense blocks using traditional efficient algorithms, while sparse elements are handled separately using specialized formats like COO (Coordinate) format. This segmentation allows each component to be processed by the most suitable algorithm, resolving the contradiction between overall efficiency and load balance.

Inventive Principle:
Principle #1Segmentation

2Speed

If specialized hardware is used for matrix multiplication, then processing speed is improved, but handling of irregular sparse matrices leads to inefficiency

Engineering Contradiction:
Improveprocessing speedVSAvoidhandling of sparse matrices
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by using different data representations and algorithms for different parts of the matrix. Dense blocks are stored in conventional formats and processed with standard GPU kernels, while sparse elements use compressed formats like COO with specialized processing paths. This allows the system to optimize for speed in dense regions while maintaining adaptability for sparse regions.

Inventive Principle:
Principle #3Local quality

3Productivity

If matrix operations are distributed among multiple processing elements, then throughput is increased, but load imbalance occurs with sparse matrices

Engineering Contradiction:
ImprovethroughputVSAvoidtime wasted due to load imbalance
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies partial action by separating the matrix operation into two partial operations: dense block multiplication handled by GPU processing elements and sparse element multiplication handled separately. This allows each processing element to work on appropriately-sized tasks, preventing the load imbalance that occurs when all elements must handle irregular sparse data structures. The sparse operations are performed in a manner that minimizes synchronization overhead and idle time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12536246B2Decomposing matrices for processing at a processor-in-memory
Publication Date: 2026.01.27 ADVANCED MICRO DEVICES INC
  • US12536246B2 patent drawing
  • US12536246B2 patent drawing
  • US12536246B2 patent drawing

AI summary

A processing unit decomposes a matrix for partial processing at a processor-in-memory (PIM) device. The processing unit receives a matrix to be used as an operand in an arithmetic operation (e.g., a matrix multiplication operation). In response, the processing unit decomposes the matrix into two component matrices: a sparse component matrix and a dense component matrix. The processing unit itself performs the arithmetic operation with the dense component matrix, but sends the sparse component matrix to the PIM device for execution of the arithmetic operation. The processing unit thereby offloads at least some of the processing overhead to the PIM device, improving overall efficiency of the processing system.