Sparse Compute Kernel With Pattern Tracking for Matrix Multiply

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel graphics processing systems face inefficiencies in handling sparse matrix operations due to the processing of zero-value operands and the lack of efficient mechanisms for identifying and utilizing sparse data patterns, leading to suboptimal performance in matrix multiplication and deep learning applications.

Innovation Solution

The implementation of a sparse computation mechanism that includes a scheduler to identify and prevent the processing of zero-value operands, a pattern tracker to detect sparse segments, and compression logic to store frequently used sparse matrices in a buffer for efficient execution, optimizing the processing of neural networks and deep learning operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional parallel graphics processing systems process all operands including zero-value operands in matrix multiplication, then complete computational coverage is achieved, but processing efficiency deteriorates due to unnecessary computations

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

Solution Approach 1:

The patent extracts and identifies zero-value operands from the input matrices using pattern tracking logic before processing. By detecting sparse segments and recording addresses of zero-value elements, the system removes unnecessary computational operations from the processing pipeline, allowing parallel processors to skip these elements and focus only on non-zero operands, thereby improving processing efficiency and reducing computational waste

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary action by performing pattern tracking and zero-value identification before the actual matrix multiplication processing. The system pre-processes the input matrices to identify sparse segments and store addresses of zero-value operands in buffers, so that when the parallel processing stage occurs, the processors can immediately skip these pre-identified elements without performing unnecessary computations

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel processors execute all program instructions synchronously in SIMT architecture, then processing throughput is maximized, but performance deteriorates when handling sparse data with many zero-value operands

Engineering Contradiction:
Improveprocessing throughputVSAvoidwasted processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies dynamics by enabling processing threads to dynamically adjust their execution behavior based on detected sparse patterns. Instead of rigid synchronous execution, the system allows threads to diverge when encountering zero-value operands identified through pattern tracking, with some threads skipping computations while others continue, thereby adapting the execution flow to the actual data characteristics and reducing wasted processing time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of pattern tracking logic and buffer structures that mediate between the input matrices and the parallel processing units. This intermediary layer pre-processes the data to identify zero-value operands and provides this information to the processors, enabling them to optimize their execution without breaking the overall parallel architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If sparse matrices are stored in standard memory format, then storage simplicity is maintained, but processing speed deteriorates due to lack of sparse data pattern utilization

Engineering Contradiction:
Improveprocessing speedVSAvoidstorage structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the sparse matrix storage into distinct components: the original matrix data and a separate pattern track buffer that stores addresses of zero-value operands. This segmentation allows the system to maintain the simplicity of standard memory storage while adding a complementary structure that enables fast identification of sparse elements, thereby improving processing speed without completely restructuring the storage format

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10943325B2Machine learning sparse computation mechanism
Publication Date: 2021.03.09 INTEL CORP
  • US10943325B2 patent drawing
  • US10943325B2 patent drawing
  • US10943325B2 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.