Programmable Significance Arithmetic for Reproducible Floating-Point Sums

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverange of values representedVSAvoidreproducibility of results
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvereal number calculation capabilityVSAvoidparallelization capability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improvestandard arithmetic operationsVSAvoidprecision and range
Core Design Contradiction:
Ease of operationVSMeasurement precision

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9766857B2Data processing apparatus and method using programmable significance data
Publication Date: 2017.09.19 ARM LTD
  • US9766857B2 patent drawing
  • US9766857B2 patent drawing
  • US9766857B2 patent drawing

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.