Sparse Matrix Scheduling to Bypass Zero-Value GPU Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face inefficiencies in processing sparse matrices, leading to increased computational load and resource utilization due to the need to perform operations on zero-value operands and dense matrix computations, which can be optimized by identifying and bypassing zero-value operands and detecting sparse data patterns.

Innovation Solution

Implementing a sparse matrix processing mechanism that includes a scheduler to prevent scheduling of zero-value operands, a pattern tracker to detect sparse segments, and compression logic to store frequently used sparse matrices in a compressed buffer, allowing for efficient execution and reduced processing load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional dense matrix computation is performed on GPUs, then general processing capability is maintained, but computational overhead increases significantly when processing sparse matrices with many zero-value operands

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and removes zero-value operands from the computation pipeline before they reach the execution units. The scheduler identifies operands with zero values and prevents them from being scheduled for execution, thereby eliminating wasted computational resources and reducing overall computational overhead while maintaining processing efficiency for non-zero elements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements dynamic scheduling that adapts to the sparsity patterns of input matrices. The scheduler continuously monitors operand values and dynamically adjusts the computation plan to bypass zero-value operations. This dynamic adaptation allows the system to optimize processing efficiency for sparse matrices while maintaining compatibility with dense matrix operations.

Inventive Principle:
Principle #15Dynamics

2Productivity

If all operands are scheduled for execution regardless of zero values, then processing simplicity is maintained, but processing time increases due to unnecessary operations on zero-value operands

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary identification of zero-value operands before the main computation phase. The scheduler examines operands in advance and marks or filters out those with zero values, preventing them from entering the execution pipeline. This preliminary action eliminates wasted processing time on zero-value operations while maintaining the processing of non-zero elements at full speed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sparse matrices are stored in uncompressed format, then memory access simplicity is maintained, but memory usage increases and processing efficiency decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies different storage strategies to different portions of the matrix data based on sparsity patterns. Frequently accessed sparse matrices are stored in compressed format in a dedicated buffer, while other data maintains standard storage. This localized optimization reduces memory usage for critical sparse operations without compromising overall system simplicity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3385901B1Machine learning sparse computation mechanism
Publication Date: 2024.12.04 INTEL CORP
  • EP3385901B1 patent drawingFigure 1
  • EP3385901B1 patent drawingFigure 2A
  • EP3385901B1 patent drawingFigure 2B

AI summary

An apparatus to facilitate processing of a sparse matrix is disclosed. The apparatus includes a plurality of processing units each comprising one or more processing elements, including logic to read operands, a multiplication unit to multiply two or more operands and a scheduler to identify operands having a zero value and prevent scheduling of the operands having the zero value at the multiplication unit.