Floating-Point Rounding Verification via Error Threshold Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processor cores implementing convergence methods for multiplicative inverse, division, and square root calculations often waste time and resources on unnecessary calculations, as they fail to efficiently determine whether intermediate results are correctly rounded according to IEEE Standard 754, and also waste resources on determining exceptions that occur infrequently.

Innovation Solution

A method that generates an estimate of the result, calculates the error, and checks if it is within a threshold error to determine if the result is correctly rounded, or if it constitutes an exception case, thereby optimizing processing by avoiding unnecessary refinements and exception handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If convergence methods are used to calculate multiplicative inverse, division, and square root, then the correct result is guaranteed to be obtained, but processing time and resources are wasted on unnecessary calculations

Engineering Contradiction:
Improvecorrectness of resultVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing a quick approximation calculation before the full convergence process. This preliminary estimate is then used to determine whether the result is already correctly rounded, avoiding unnecessary refinement steps. The approximation is calculated using simpler operations that can be performed quickly, and the result is checked against the actual result to determine if further convergence is needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by comparing the approximation result with the actual result and using this comparison to determine whether the approximation is sufficient. The feedback mechanism allows the system to adapt the level of precision needed based on the actual calculation results, stopping the convergence process early when the approximation is already correct, thus saving processing time while maintaining accuracy.

Inventive Principle:
Principle #23Feedback

2Reliability

If convergence methods are used to calculate multiplicative inverse, division, and square root, then the correct result is guaranteed to be obtained, but processing resources are wasted on determining exceptions that occur infrequently

Engineering Contradiction:
Improvecorrectness of resultVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing a quick approximation calculation before the full convergence process. This preliminary estimate is then used to determine whether the result is already correctly rounded, avoiding unnecessary refinement steps. The approximation is calculated using simpler operations that can be performed quickly, and the result is checked against the actual result to determine if further convergence is needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by comparing the approximation result with the actual result and using this comparison to determine whether the approximation is sufficient. The feedback mechanism allows the system to adapt the level of precision needed based on the actual calculation results, stopping the convergence process early when the approximation is already correct, thus saving processing time while maintaining accuracy.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If intermediate results are refined using convergence methods, then the correctly rounded result is obtained, but processing time is wasted when the correct result is reached early

Engineering Contradiction:
Improverounding accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements feedback by comparing the approximation result with the actual result and using this comparison to determine whether the approximation is sufficient. The feedback mechanism allows the system to adapt the level of precision needed based on the actual calculation results, stopping the convergence process early when the approximation is already correct, thus saving processing time while maintaining accuracy.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies dynamics by making the convergence process adaptive rather than fixed. The number of refinement steps is dynamically adjusted based on whether the approximation is already sufficiently accurate. When the approximation reaches the correctly rounded result early, the process stops immediately. When further refinement is needed, the process continues. This dynamic approach optimizes processing time while ensuring rounding accuracy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8775494B2System and method for testing whether a result is correctly rounded
Publication Date: 2014.07.08 NVIDIA CORP
  • US8775494B2 patent drawing
  • US8775494B2 patent drawing
  • US8775494B2 patent drawing

AI summary

A computer-implemented method for executing a floating-point calculation where an exact value of an associated result cannot be expressed as a floating-point value is disclosed. The method involves: generating an estimate of the associated result and storing the estimate in memory; calculating an amount of error for the estimate; determining whether the amount of error is less than or equal to a threshold of error for the associated result; and if the amount of error is less than or equal to the threshold of error, then concluding that the estimate of the associated result is a correctly rounded result of the floating-point calculation; or if the amount of error is greater than the threshold of error, then testing whether the floating-point calculation constitutes an exception case.