Anchored-Data Encoding for Reproducible Floating-Point Accumulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Floating-point arithmetic is non-associative, leading to reproducibility issues in sums, which complicates parallelization and debugging, especially in high-performance computing where millions of values need to be added.
Innovation Solution
The introduction of High-Precision Anchored (HPA) numbers, which consist of a pair (i, a) where i is a long two's complement integer and a is an anchor integer representing the weights of the bits of i, allowing for reproducible and associative addition.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If floating-point arithmetic is used, then a large range of numeric values can be represented, but calculations become non-associative leading to reproducibility issues
Solution Approach 1:
The floating-point number is segmented into two parts: a long two's complement integer (200 bits) and a smaller anchor integer. This segmentation allows the significant bits to be stored with higher precision while the anchor specifies the weight, enabling reproducible accumulation without losing the ability to represent a large range of values.
Solution Approach 2:
The patent introduces a new dimension to the data structure by adding the anchor integer that specifies the significance weight. This transforms the traditional single-value floating-point representation into a two-component structure (i, a), where the anchor dimension provides the scaling factor, enabling both large range representation and reproducible arithmetic.
2Reliability
If high-precision anchored numbers are used, then reproducible and associative addition is achieved, but the data structure becomes more complex
Solution Approach 1:
The patent changes the parameters of the number representation by using a long two's complement integer instead of a traditional floating-point format. The anchor integer serves as a parameter that specifies the significance weight, allowing the system to maintain simple two's complement arithmetic while achieving reproducible results through parameter specification rather than structural complexity.
3Ease of manufacture
If traditional floating-point format is used, then data processing is simple, but special values like NaN and infinity cannot be properly represented in anchored format
Solution Approach 1:
The patent uses the anchor integer as an intermediary to represent special values. Instead of having separate hardware or complex structures for NaN and infinity, the anchor parameter serves as a mediator that can indicate special states (such as zero or negative anchor values), allowing traditional simple arithmetic to handle special cases through parameter interpretation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus comprises: processing circuitry to perform data processing; and an instruction decoder to control the processing circuitry to perform an anchored-data processing operation to generate an anchored-data element. The anchored-data element has an encoding including type information indicative of whether the anchored-data element represents: a portion of bits of a two's complement number, said portion of bits corresponding to a given range of significance representable using the anchored-data element; or a special value other than said portion of bits of a two's complement number.