GPU Sparse Matrix Multiply Kernel With Zero-Operand Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems, particularly graphics processors, face inefficiencies in handling sparse matrix operations due to the need to process zero-value operands and dense matrix computations, which can lead to increased processing load and resource utilization.

Innovation Solution

Implementing a sparse matrix processing mechanism that includes a scheduler to identify and skip zero-value operands, a pattern tracker to detect sparse segments, and compression logic to store frequently used sparse matrices, allowing for efficient execution and reduced processing load by converting dense computations to sparse operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dense matrix computations are performed on sparse data, then processing completeness is maintained, but processing load and resource utilization increase

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and identifies zero-value operands from sparse matrix operations using a scheduler that detects zero values before computation. By separating zero-value detection and exclusion from the main computation pipeline, the system eliminates unnecessary processing of zero elements while maintaining correctness of non-zero computations, thus reducing processing load without sacrificing processing completeness

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary action by performing sparsity detection and zero-value identification before the actual matrix multiplication occurs. The scheduler pre-processes operand data to identify zero elements, and compression logic pre-compresses sparse matrices into compact formats. This preliminary preparation enables the computation unit to skip zero-value operations entirely, reducing overall processing load while maintaining complete processing of all necessary non-zero elements

Inventive Principle:
Principle #10Preliminary action

2Productivity

If sparse matrix operations are implemented, then processing load is reduced, but device complexity increases

Engineering Contradiction:
Improveprocessing loadVSAvoidmechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a sparse computation mechanism that integrates multiple functions into a unified architecture. The scheduler simultaneously performs zero-value detection, operation scheduling, and compression coordination. The compression logic handles both sparse matrix compression and decompression operations. This multi-functional design reduces the need for separate dedicated hardware components for each sparse operation type, thereby managing device complexity while achieving reduced processing load

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

3Measurement precision

If zero-value operands are processed, then computational accuracy is maintained, but resource utilization increases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidresource utilization
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent implements skipping by enabling the scheduler to detect zero-value operands and bypass their processing entirely. When a zero value is detected in a sparse matrix operation, the scheduler skips the multiplication and accumulation steps for that element, directly proceeding to the next non-zero element. This skipping mechanism maintains computational accuracy by ensuring all non-zero elements are processed correctly while eliminating wasteful processing of zero elements, thus reducing resource utilization without compromising accuracy

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentEP3937119B1Machine learning sparse computation mechanism
Publication Date: 2023.08.09 INTEL CORP
  • EP3937119B1 patent drawingFigure 1
  • EP3937119B1 patent drawingFigure 2A
  • EP3937119B1 patent drawingFigure 2B

AI summary

A method and a data processing system for performing operations of a matrix multiply framework are disclosed. For example, the method comprises: loading elements of matrices into a first memory of the graphics processor, wherein the first memory is a global memory of the graphics processor; transferring a subset of elements of the matrices from the first memory into a second memory of the graphics processor, the second memory local to a set of processing resources of the graphics processor; and triggering execution of a compute kernel on the graphics processor, wherein the compute kernel performs a sparse matrix multiply operation on the subset of elements of the matrices, and the matrix multiply framework enables the compute kernel to specify one or more element-wise operations to perform on output of the sparse matrix multiply operation before the output is transferred to the first memory, the one or more element-wise operations including applying an activation function to the output and the matrix multiply framework is to provide a primitive to enable the compute kernel to specify the one or more element-wise operations to perform on the output of the sparse matrix multiply operation.