Sparse Matrix Scheduler for Skipping Zero-Value Operands

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 processing of zero-value operands and the need for dense matrix computations, which can lead to increased processing loads and resource utilization.

Innovation Solution

The implementation of a sparse matrix processing mechanism that includes a scheduler to identify and prevent the 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 reducing unnecessary computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional dense matrix computation is used to process sparse matrices, then the processor can maintain a simple uniform architecture, but it performs unnecessary computations on zero-value operands increasing processing load

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing load
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and identifies zero-value operands from the matrix data before processing. The scheduler component specifically detects zero values and excludes them from computation scheduling, thereby removing unnecessary computational operations and reducing processing load while maintaining accurate results.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements dynamic scheduling that adapts to the actual data characteristics. The scheduler dynamically identifies zero-value operands and adjusts the computation plan in real-time, switching from static dense matrix computation to dynamic sparse-aware computation, thereby optimizing processing efficiency and reducing energy consumption.

Inventive Principle:
Principle #15Dynamics

2Productivity

If sparse matrix operations are optimized by identifying and skipping zero-value operands, then processing efficiency improves, but the device complexity increases due to additional scheduler logic

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

Solution Approach 1:

The scheduler performs self-service by automatically identifying zero-value operands and adjusting its own scheduling decisions without requiring external intervention or complex control logic. This self-aware scheduling mechanism reduces the need for additional complex control structures while maintaining processing efficiency.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If zero-value operands are processed in traditional dense computation, then the computation is straightforward and uniform, but it increases processing time and resource utilization

Engineering Contradiction:
Improvecomputation simplicityVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary identification of zero-value operands before the actual computation begins. By pre-processing the data to mark or identify zero values, the scheduler can then skip these operands during execution, significantly reducing processing time while maintaining computational accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10346944B2Machine learning sparse computation mechanism
Publication Date: 2019.07.09 INTEL CORP
  • US10346944B2 patent drawing
  • US10346944B2 patent drawing
  • US10346944B2 patent drawing

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.