Programmable Bit Significance for Reproducible Floating-Point Results

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 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

VSEngineering 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

Engineering Contradiction:
Improvecomputation speedVSAvoidreproducibility
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improverange of representable valuesVSAvoidaccumulation reproducibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #35Parameter changes

3Productivity

If floating-point addition is performed in parallel, then computation speed improves, but debugging complexity increases due to non-deterministic results

Engineering Contradiction:
Improveparallelization capabilityVSAvoiddebugging complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9703529B2Exception generation when generating a result value with programmable bit significance
Publication Date: 2017.07.11 ARM LTD
  • US9703529B2 patent drawing
  • US9703529B2 patent drawing
  • US9703529B2 patent drawing

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.