Sparse Compute Kernel Scheduling for Zero-Value Operand Elimination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel graphics data processing systems face inefficiencies in processing sparse data, as they lack mechanisms to effectively identify and handle zero-value operands, leading to unnecessary computations and resource wastage.

Innovation Solution

The implementation of a sparse matrix processing mechanism that includes a scheduler to identify zero-value operands and prevent their scheduling, pattern tracking logic to detect sparse data segments, and compression of sparse matrices to store frequently used matrices in a sparse compressed buffer for efficient execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional parallel graphics processing is used, then general processing capability is maintained, but processing efficiency deteriorates due to unnecessary computations with zero-value operands

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and identifies zero-value operands from the data stream using pattern tracking logic, separating them from non-zero operands. This allows the processing system to exclude zero-value operands from computation, eliminating unnecessary computational operations and reducing resource consumption while maintaining processing of meaningful data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary compression of sparse matrices into a compressed format that explicitly marks zero-value operands before processing. This pre-processing step converts the data into a form where zero-values are efficiently identified and skipped, preventing wasteful computations before they occur rather than detecting and handling them during execution.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If sparse data processing mechanisms are implemented, then processing overhead is reduced, but device complexity increases due to additional logic components

Engineering Contradiction:
Improveprocessing overheadVSAvoidlogic complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent designs the sparse processing mechanism to work within the existing SIMT architecture framework, allowing the same processing units to handle both sparse and non-sparse data. The pattern tracking logic and compression mechanisms are integrated into the existing pipeline, enabling multi-functionality without requiring completely separate processing paths, thus limiting the increase in overall device complexity.

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

3Quantity of substance

If compression of sparse matrices is performed, then memory efficiency is improved, but processing complexity increases due to compression and decompression operations

Engineering Contradiction:
Improvememory usageVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the representation parameters of sparse matrices by compressing them into a format that stores only non-zero elements with their positions and values. This parameter transformation reduces the quantity of data that needs to be processed and stored, improving memory efficiency. The compression format is designed to enable efficient traversal and processing, balancing the added processing steps with significant reductions in data volume.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250117873A1Machine learning sparse computation mechanism
Publication Date: 2025.04.10 INTEL CORP
  • US20250117873A1 patent drawing
  • US20250117873A1 patent drawing
  • US20250117873A1 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.