Priority Encoder for Floating Point Matrix Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tree-based maximum circuits in floating point matrix multiplication datapaths become performance bottlenecks due to increased delay and difficulty in pipelining as the number of inputs doubles, limiting the design clock frequency and overall performance.

Innovation Solution

A circuit comprising detection subcircuits and a priority encoder that determines the active bit position from input data, reducing delay by comparing each exponent with possible values instead of between exponents, and is well-suited for pipelining by storing only a portion of the exponent.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If tree-based maximum circuits are used to compute the maximum of n exponents, then the circuit can handle multiple inputs, but the delay increases dramatically as the number of inputs doubles, limiting the design clock frequency

Engineering Contradiction:
Improvenumber of inputsVSAvoidcircuit delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the maximum computation problem into two independent parts: (1) finding the maximum exponent value, and (2) aligning mantissas based on that maximum. This segmentation allows parallel processing of exponent comparison and mantissa alignment, reducing overall delay. The exponent maximum computation is further segmented into bitwise comparison stages, where each stage processes one bit position across all exponents simultaneously, rather than sequentially comparing exponent pairs as in tree-based circuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a sequential pairwise comparison approach (one dimension of computation) to a parallel bitwise comparison approach across multiple dimensions. Instead of comparing exponents in a binary tree structure where each level processes pairs of values, the patent compares all exponents simultaneously at each bit position, utilizing the bit-position dimension for parallelism. This dimensional change enables O(log max_exponent) delay instead of O(log n) delay where n is the number of inputs.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If tree-based maximum circuits are implemented with increasing number of inputs, then more exponents can be processed, but the number of pipeline registers required increases, making pipelining difficult

Engineering Contradiction:
Improvenumber of exponents processedVSAvoidpipeline register count
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the pipelining requirement into minimal register stages: one register to store the computed maximum exponent value, and another to store the alignment shift amount. This segmentation reduces the pipeline register count from O(n) or O(log n) in tree-based circuits to just O(1) constant registers, enabling efficient pipelining while maintaining the ability to process any number of exponents.

Inventive Principle:
Principle #1Segmentation

3Productivity

If the depth of dot products increases to improve throughput, then more values can be computed per cycle, but tree-based maximum circuits become performance bottlenecks due to increased delay

Engineering Contradiction:
Improvedot product throughputVSAvoidmaximum computation delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary computation of the maximum exponent value before mantissa alignment is required. By computing the maximum exponent in advance using the efficient parallel bitwise comparison method, the alignment stage can proceed immediately without waiting for sequential exponent comparisons, thus enabling deeper dot product pipelines to execute without bottleneck delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous useful action by allowing exponent maximum computation and mantissa alignment to proceed in parallel without idle waiting periods. The parallel bitwise comparison methodology ensures that all exponent bits are processed simultaneously at each stage, eliminating the sequential delays that would otherwise interrupt the continuous flow of dot product computations in deep pipelines.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20230100785A1Priority encoder-based techniques for computing the minimum or the maximum of multiple values
Publication Date: 2023.03.30 NVIDIA CORP
  • US20230100785A1 patent drawing
  • US20230100785A1 patent drawing
  • US20230100785A1 patent drawing

AI summary

In various embodiments, the maximum or minimum of multiple input values is determined. For each of a set of possible values, a corresponding detection result is set to indicate whether at least one of the input values matches the possible value. The detection results are used to ascertain the maximum or minimum of the multiple input values.