Programmable Bit Significance for Reproducible Floating-Point Results
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 numbers, resulting in different answers depending on the order of operations due to the lack of reproducibility and associativity.
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 and carry-lookahead adders for efficient long integer operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If floating-point arithmetic is used for high-performance computing, then computation speed can be improved, but reproducibility and associativity are lost leading to different results depending on operation order
Solution Approach 1:
The patent changes the numerical representation parameters by introducing High-Precision Anchored (HPA) numbers with a fixed anchor point that separates the binary point position from the significant digits. This parameter change allows the system to maintain floating-point-like range while achieving fixed-point-like associativity and reproducibility, resolving the contradiction between computation speed and result reliability
Solution Approach 2:
The patent introduces HPA numbers as an intermediary representation between traditional floating-point and fixed-point arithmetic. This intermediary format combines advantages of both systems: the range and scalability of floating-point with the associativity and reproducibility of fixed-point, enabling fast computation while ensuring reliable, reproducible results
2Adaptability or versatility
If traditional floating-point format is used, then a wide range of values can be represented, but accumulation of millions of numbers produces different answers due to non-associativity
Solution Approach 1:
The patent segments the floating-point representation into two distinct parts: the anchor point (which determines the binary point position and scale) and the significant digits (which are processed with fixed-point arithmetic). This segmentation allows the system to maintain the wide range capability of floating-point while achieving the reproducibility of fixed-point accumulation
Solution Approach 2:
The patent changes the representation parameters by fixing the anchor point during accumulation operations, effectively converting floating-point arithmetic into fixed-point arithmetic for the accumulation process. This parameter change ensures that millions of numbers can be accumulated with consistent, reproducible results while still supporting a wide range of input values
3Productivity
If floating-point addition is performed in parallel, then computation speed improves, but debugging complexity increases due to non-deterministic results
Solution Approach 1:
The patent changes the arithmetic parameters to enable deterministic, associative operations that produce identical results regardless of parallel execution order. This parameter change allows safe parallelization of accumulation operations while simplifying debugging, as the results become predictable and reproducible across different parallel execution schedules
Data Source
AI summary
A data processing system performs processing operations upon input operand(s) having a programmable bit significance. Exception generating circuitry generates exception indications representing exceptions such as overflow, underflow and inexact in respect of a result value having the programmable bit significance.


