Vector Multiply-Add Zero Skipping Logic for Sparse Matrix Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Matrix multiplication operations in high-performance computing and machine learning workloads are inefficient due to sparse matrices, leading to a significant number of zero values that result in unnecessary computations, which can be bypassed but currently lack an optimized solution to skip these operations effectively.

Innovation Solution

A new instruction (madv) is introduced that compresses multiple multiply-add instructions in general matrix multiply (GEMM) kernels, allowing a graphics processor to compare broadcast sources for zero values and create a skipMask bitmap, enabling the skipping of individual multiply-add instructions during execution, particularly beneficial for sparse matrix multiplications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix multiply operations are performed on sparse matrices, then complete computation is performed, but computational efficiency deteriorates due to unnecessary operations on zero values

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidtime spent on zero operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts and identifies zero values from matrix operations using a skip mask mechanism. The system selectively removes zero-value operations from the computation pipeline by generating a skip mask that marks which multiply-add operations can be skipped, thereby eliminating unnecessary computations while maintaining correctness of the final result.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary identification of zero values before executing the full matrix multiplication. By generating the skip mask in advance and using it to guide the computation, the system prepares the optimization information beforehand, allowing efficient skipping of zero operations during the actual computation without affecting the final accumulation result.

Inventive Principle:
Principle #10Preliminary action

2Speed

If zero-skipping operations are implemented, then computational speed improves, but instruction complexity increases due to additional mask generation and comparison logic

Engineering Contradiction:
Improveexecution speedVSAvoidinstruction complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the zero-detection logic with the existing matrix multiplication instruction by combining multiple operations into a single fused instruction. The skip mask generation, zero comparison, and conditional skipping are integrated into one unified instruction that the graphics processor can execute atomically, reducing the need for separate instruction sequences and minimizing the increase in instruction complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent designs the zero-skipping matrix multiply-add instruction to be universally applicable to various matrix operation scenarios. The same instruction mechanism can handle different sparsity patterns, different matrix dimensions, and different accumulation requirements, making the complexity investment worthwhile across a broad range of workloads rather than requiring specialized instructions for each case.

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

3Measurement precision

If fused multiply-add instructions are used, then operational precision is maintained, but energy consumption increases due to execution of all operations including zero multiplications

Engineering Contradiction:
Improveaccumulation precisionVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent implements a skipping mechanism that rapidly bypasses zero-value multiply-add operations. By using the skip mask to identify and skip zero operations, the system rushes through the computation, executing only the necessary non-zero operations while maintaining the same accumulation precision as traditional fused multiply-add instructions, thereby reducing energy consumption proportionally to the sparsity of the input matrices.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11669329B2Instructions and logic for vector multiply add with zero skipping
Publication Date: 2023.06.06 INTEL CORP
  • US11669329B2 patent drawing
  • US11669329B2 patent drawing
  • US11669329B2 patent drawing

AI summary

Embodiments described herein provide for an instruction and associated logic to enable a vector multiply add instructions with automatic zero skipping for sparse input. One embodiment provides for a general-purpose graphics processor comprising logic to perform operations comprising fetching a hardware macro instruction having a predicate mask, a repeat count, and a set of initial operands, where the initial operands include a destination operand and multiple source operands. The hardware macro instruction is configured to perform one or more multiply/add operations on input data associated with a set of matrices.