Floating-Point Intermediate Representation for Order-Independent Summation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Floating point addition is non-associative, leading to accuracy loss and order-dependent results due to the encoding of floating point numbers, which is undesirable in data processing and complicates the processing apparatus.

Innovation Solution

An intermediate representation of floating point values is used, comprising a significand section, an exponent section, and a shadow section, allowing for window shifts and accurate summation independent of the order of operations by aligning operands within contiguous windows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If floating point values are summed using standard encoding, then a very large range of values can be represented, but accuracy is lost and results depend on summation order

Engineering Contradiction:
Improverange of representable valuesVSAvoidaccuracy of summation
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The significand is divided into multiple sections (first significand section, second significand section, third significand section) that can be independently manipulated. This segmentation allows the system to handle different portions of the significand separately during addition operations, preventing precision loss when adding floating point values with different exponents while maintaining the ability to represent a wide range of values.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If inspection and sorting of input values is performed before summation, then accuracy is improved, but complexity and processing time increase

Engineering Contradiction:
Improveaccuracy of summationVSAvoidcomplexity of data processing apparatus
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary alignment of the significands by shifting them to match exponent values before addition. The significand sections are pre-positioned in their correct aligned locations, and the exponent is pre-calculated to reflect the alignment operation. This preliminary action ensures accurate summation without requiring complex sorting or inspection circuits, as the alignment is automatically handled during the addition process itself.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If limited precision is used for the final sum, then order-dependent variations are hidden, but high precision floating point capabilities are reduced

Engineering Contradiction:
Improvedeterminism of final sumVSAvoidprecision of floating point numbers
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system introduces an intermediary representation with extended precision (additional significand sections) that acts as a mediator between the input floating point values and the final result. During intermediate calculations, the full extended precision is maintained to ensure deterministic results regardless of summation order. Only the final output is rounded to the required precision, preserving high precision capabilities throughout the computation while achieving determinism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10503472B2Apparatus and method for processing floating point values
Publication Date: 2019.12.10 ARM LTD
  • US10503472B2 patent drawing
  • US10503472B2 patent drawing
  • US10503472B2 patent drawing

AI summary

An apparatus and method are provided for processing floating point values using an intermediate representation which has significand, exponent and shadow sections. A less significant portion of the exponent of the floating point value defines a range of positions within the significand section where the representation of the significand is to be held. The exponent section holds a representation of a more significant portion of the exponent indicating a selected window of multiple contiguous windows spanning a value range of a format of the floating point value. A first portion of the significand section corresponds to the selected window and a second portion corresponds to an overlap into a further window which is adjacent to and lower in the value range. The shadow section holds values for populating the second portion of the significand section when the representation of the significand of the floating point value is moved to a higher window which is adjacent to and higher in the value range than the selected window. The shadow section allows the selected window to be shifted, such that the summation of multiple values produces the same result independent of the order in which the values are summed.