Programmable Significance Arithmetic for Reproducible Floating-Point Sums
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Floating-point arithmetic is non-associative, leading to reproducibility issues and difficulties in parallelizing code, especially in high-performance computing, where programs need to add millions of values, resulting in different answers depending on the order of operations due to the non-associative nature of floating-point operations.
Innovation Solution
The introduction of High-Precision Anchored (HPA) numbers and new instructions that allow for fast and correct accumulation of floating-point numbers in a programmer-selectable range, using a datatype and instructions that enable associative addition, converting between floating-point and HPA formats, and employing carry-select or carry-lookahead adders for efficient long integer arithmetic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If floating-point arithmetic is used, then a wide range of values can be represented, but the arithmetic is non-associative leading to reproducibility issues and difficulty in parallelization
Solution Approach 1:
The patent segments the floating-point number into two separate components: an integer part and a fractional part. The integer part is stored in an integer register and the fractional part is stored in a separate fractional register. This segmentation allows independent processing of each part using associative integer arithmetic for the integer component while preserving the fractional component, thereby achieving reproducible and parallelizable computations while maintaining the ability to represent a wide range of values.
2Adaptability or versatility
If floating-point arithmetic is used, then real number calculations can be performed, but parallelization is difficult due to non-associative operations
Solution Approach 1:
By separating the floating-point number into integer and fractional components stored in different registers, the patent enables the integer part to be processed using parallelizable and associative integer arithmetic operations. The fractional part is handled separately, allowing independent parallel processing of multiple integer components without the non-associativity constraints of traditional floating-point arithmetic.
Solution Approach 2:
The patent replaces the traditional floating-point arithmetic mechanism with a hybrid approach that uses integer arithmetic for the integer component. This substitution leverages the associative and parallelizable nature of integer arithmetic while maintaining real number calculation capability through the combination of integer and fractional parts.
3Ease of operation
If traditional floating-point formats are used, then standard arithmetic operations can be performed, but precision and range are constrained by fixed format specifications
Solution Approach 1:
The patent introduces dynamic configurability where the fractional part can be represented with variable precision. The system allows the number of fractional bits to be configured based on the specific computational requirements, enabling adaptive precision control. This dynamic approach allows the same integer component to work with different fractional precisions, effectively expanding the range and precision capabilities beyond fixed floating-point formats while maintaining compatibility with standard arithmetic operations.
Data Source
AI summary
An apparatus includes processing circuitry to perform one or more arithmetic operations for generating a result value based on at least one operand. For at least one arithmetic operation, the processing circuitry is responsive to programmable significance data indicative of a target significance for the result value, to generate the result value having the target significance. For example, this allows programmers to set a significance boundary for the arithmetic operation so that it is not necessary for the processing circuitry to calculate bit values having a significance outside the specified boundary, enabling a performance improvement.


