Sparse GPU Computation Scheduling for 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 lack of effective mechanisms for identifying and optimizing sparse data patterns, leading to suboptimal performance in applications like machine learning and neural networks.

Innovation Solution

The implementation of a sparse computation mechanism that includes a scheduler to identify zero-value operands, a pattern tracker to detect sparse segments, and compression logic to store frequently used sparse matrices, allowing for efficient execution and optimization of sparse matrix operations within graphics processing units (GPUs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional graphics processors process all matrix operands uniformly, then processing is simple to implement, but processing efficiency deteriorates due to unnecessary computation of zero-value operands

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing mechanism is segmented into multiple specialized components: a sparsity detector that identifies zero-value operands, a scheduler that manages computation based on sparsity patterns, and compression logic that stores frequently used sparse matrices. This segmentation allows the system to handle sparse operations efficiently without requiring complete redesign of the processing architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sparsity detector performs preliminary analysis of matrix operands to identify zero-value elements before the main computation occurs. The scheduler then uses this information to preemptively skip unnecessary computations. Frequently used sparse matrices are pre-compressed and stored in dedicated storage, eliminating the need for repeated compression and decomposition operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If sparse computation mechanisms are implemented, then processing efficiency improves by skipping zero-value computations, but device complexity increases due to additional components

Engineering Contradiction:
Improvesparse operation efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The sparsity detector and scheduler components are designed to work with various matrix operation types (multiplication, addition, transformation) without requiring separate specialized hardware for each operation. The compression logic can handle different sparse matrix formats and storage schemes, making the mechanism universally applicable to diverse machine learning workloads while avoiding proliferation of specialized components.

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

Solution Approach 2:

The scheduler acts as an intermediary between the sparsity detector and the computation units, translating sparsity information into optimized execution schedules. The compression logic serves as an intermediary layer between sparse matrix storage and computation, automatically decompressing data only when needed. These intermediary components coordinate the interaction between different parts of the system without requiring direct complex interconnections.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If all matrix operations are executed without optimization, then implementation is straightforward, but performance deteriorates in machine learning applications with sparse data

Engineering Contradiction:
Improvemachine learning performanceVSAvoidcomputation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-analysis through the sparsity detector, which automatically identifies sparsity patterns in the input data without external intervention. The scheduler self-adjusts its computation schedule based on the detected sparsity patterns, and the compression logic automatically compresses and stores frequently accessed sparse matrices. This self-service capability allows the system to adapt to different machine learning workloads dynamically without requiring manual configuration or complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10706498B2Machine learning sparse computation mechanism
Publication Date: 2020.07.07 INTEL CORP
  • US10706498B2 patent drawing
  • US10706498B2 patent drawing
  • US10706498B2 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.