Sparse Matrix Compute Kernel for Zero-Operand Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel graphics processing systems face inefficiencies in handling sparse matrix operations, particularly in machine learning applications, due to the processing of zero-value operands and the need for dense matrix computations, which can lead to increased processing loads and reduced performance.

Innovation Solution

The implementation of a sparse matrix processing mechanism that includes a scheduler to identify and prevent the processing of zero-value operands, a sparse pattern tracker to detect and record 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

1Reliability

If dense matrix computation is performed on sparse data, then processing completeness is maintained, but processing load increases and performance decreases

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and identifies zero-value operands from the input matrix before processing. By separating these zero-values from non-zero values, the system prevents unnecessary computation on zero-elements while maintaining processing completeness for non-zero elements, thus resolving the contradiction between processing completeness and efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by performing computation only on non-zero elements of the sparse matrix rather than all elements. The scheduler identifies and processes only the necessary subset of operands (non-zero values), avoiding excessive computation on zero-values, thereby improving processing efficiency without sacrificing required computational completeness

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If zero-value operands are processed, then computation thoroughness is maintained, but resource utilization decreases

Engineering Contradiction:
Improvecomputation thoroughnessVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The sparse pattern tracker extracts information about zero-value locations and patterns from the input data. This extracted sparse pattern information is used to guide the scheduler in avoiding computation on zero-elements, thereby maintaining computation thoroughness for non-zero elements while improving resource utilization

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses the sparse pattern information to automatically guide its own computation process. The scheduler self-adjusts by using the identified sparse patterns to determine which operands require processing, enabling the system to serve itself by avoiding unnecessary resource consumption on zero-value operations

Inventive Principle:
Principle #25Self-service

3Productivity

If sparse matrix operations are implemented, then processing efficiency improves, but system complexity increases

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

Solution Approach 1:

The patent segments the processing system into distinct functional components: a sparse pattern tracker for identifying zero-value patterns, a scheduler for managing computation based on these patterns, and execution units for performing operations. This segmentation allows each component to handle specific tasks efficiently, improving overall processing efficiency while managing system complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sparse pattern tracker performs preliminary action by identifying and recording sparse patterns in the input data before the main computation begins. This pre-processing step creates a computation roadmap that guides the scheduler, enabling efficient processing without requiring complex real-time decision-making during execution, thus improving efficiency while controlling complexity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12141891B2Machine learning sparse computation mechanism
Publication Date: 2024.11.12 INTEL CORP
  • US12141891B2 patent drawing
  • US12141891B2 patent drawing
  • US12141891B2 patent drawing

AI summary

Techniques to improve performance of matrix multiply operations are described in which a compute kernel can specify one or more element-wise operations to perform on output of the compute kernel before the output is transferred to higher levels of a processor memory hierarchy.