Floating-Point Conversion for Associative Parallel Summation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Floating-point arithmetic is non-associative, leading to reproducibility issues and difficulties in parallelization, especially in high-performance computing, where programs need to add millions of numbers, resulting in different results depending on the order of operations and making debugging challenging.

Innovation Solution

The introduction of high-precision anchored (HPA) numbers, which are represented as a pair of a long two's complement integer and an anchor integer, allowing for associative addition and conversion between floating-point and HPA formats, enabling faster and correct accumulation of floating-point numbers.

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 addition becomes non-associative leading to reproducibility issues

Engineering Contradiction:
Improverange of representable valuesVSAvoidreproducibility of results
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments floating-point numbers into integer components (significand bits) and uses separate exponent handling. By representing floating-point values as integers with an associated exponent value, the patent enables associative addition of the integer components while maintaining the ability to represent a wide range of values through exponent adjustment.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If floating-point arithmetic is used, then real number calculations are supported, but parallelization becomes difficult due to non-associative addition

Engineering Contradiction:
Improvefloating-point calculation capabilityVSAvoidparallelization capability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments floating-point operations into integer addition operations that are associative. By converting floating-point numbers to integer representations (storing significands as integers with separate exponent metadata), multiple threads can independently add integer components in any order, enabling efficient parallelization while maintaining floating-point calculation capability.

Inventive Principle:
Principle #1Segmentation

3Reliability

If high-precision anchored numbers are used, then associative addition is achieved, but conversion from floating-point format is required

Engineering Contradiction:
Improveassociative addition propertyVSAvoidformat conversion requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary representation format that bridges floating-point and integer arithmetic. High-precision anchored numbers serve as this intermediary, allowing floating-point values to be converted into a format where the significand is stored as an integer with an associated anchor (exponent) value, enabling associative addition while maintaining compatibility with floating-point operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9665347B2Apparatus and method for performing conversion operation
Publication Date: 2017.05.30 ARM LTD
  • US9665347B2 patent drawing
  • US9665347B2 patent drawing
  • US9665347B2 patent drawing

AI summary

An apparatus comprises processing circuitry to perform a conversion operation to convert a vector comprising a plurality of data elements representing respective bit significance portions of a binary value to a scalar value comprising an alternative representation of said binary value.