GPU Sparse Matrix Detection Unit for Register Conflict Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional GPUs experience performance reduction and increased power consumption due to high read and write conflicts in the register file during matrix calculations, and fail to leverage the sparsity of matrices for acceleration.

Innovation Solution

A graphics processing unit is designed with a sparse matrix detection unit, assertion register, and matrix calculation unit that identifies and ignores zero matrices, allowing only non-zero matrices to be calculated, thereby reducing unnecessary computations and data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the matrix calculation unit reads data directly from the register file, then the matrix calculation can be performed, but the read and write requirements for the register file are very high, causing read and write conflicts that reduce computing performance

Engineering Contradiction:
Improvematrix calculation performanceVSAvoidregister file access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the matrix data storage by separating zero matrices from non-zero matrices. The register file is divided into multiple banks, with some banks storing only non-zero matrices. This segmentation reduces the access complexity by allowing the matrix calculation unit to directly access specific banks without scanning entire register files, thereby reducing read/write conflicts while maintaining calculation performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-processing matrix data before it enters the register file. A matrix data preprocessing unit identifies and separates zero matrices from non-zero matrices before storage. This preliminary classification enables the matrix calculation unit to skip zero matrices entirely, reducing the number of read operations required and decreasing register file access complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the matrix calculation unit processes all matrices including zero matrices, then complete matrix calculation is performed, but power consumption increases and matrix calculation time increases due to unnecessary computations

Engineering Contradiction:
Improvecalculation completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts zero matrices from the processing stream by implementing a preprocessing mechanism that identifies matrices with all-zero elements before they enter the calculation pipeline. These zero matrices are extracted and excluded from further processing. This ensures calculation completeness for non-zero matrices while eliminating wasteful power consumption associated with processing zero matrices.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of matrix data representation by introducing a flag or metadata indicator that marks whether a matrix contains non-zero elements. This parameter change enables the matrix calculation unit to quickly determine whether to process a matrix based on its content characteristics, thereby reducing power consumption without compromising the reliability of calculations for matrices that require processing.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the matrix calculation unit processes all matrices including zero matrices, then all data is processed, but matrix calculation time increases due to unnecessary computations on zero matrices

Engineering Contradiction:
Improvecalculation completenessVSAvoidmatrix calculation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary classification of matrices into zero and non-zero categories before the main calculation phase. This preliminary action creates an optimized execution path where the matrix calculation unit only processes non-zero matrices, significantly reducing calculation time while maintaining completeness through the preprocessing stage that ensures no non-zero matrices are missed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a skipping mechanism where the matrix calculation unit can rapidly skip over zero matrices identified by preprocessing or metadata flags. This allows the calculation unit to rush through unnecessary data without performing full computational operations, thereby reducing overall matrix calculation time while maintaining calculation completeness for relevant data.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11409523B2Graphics processing unit
Publication Date: 2022.08.09 GLENFLY TECH CO LTD
  • US11409523B2 patent drawing
  • US11409523B2 patent drawing
  • US11409523B2 patent drawing

AI summary

A graphics processing unit includes a sparse matrix detection unit, a register file, an assertion register, and a matrix calculation unit. The sparse matrix detection unit reads a plurality of matrices from a storage device and determines whether the matrices are zero matrices or non-zero matrices to output a determination result. The register file stores the plurality of matrices from the sparse matrix detection unit. The assertion register marks up the matrices according to the determination result, and outputs a mark result. The matrix calculation unit receives a matrix calculation instruction, reads the non-zero matrices in the plurality of matrices from the register file according to the mark result, and calculates the non-zero matrices.