Overflow Counter Register for Floating-Point Saturation Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Floating-point calculations in neural networks can cause overflow events, leading to NaN or inf results that cannot be processed further, and existing methods do not effectively manage or quantify the number of overflow events, which can lead to network failure.

Innovation Solution

A processing device with an execution unit that handles overflow events by storing a result within predefined limits and incrementing a count value in a register for each overflow event, allowing subsequent processing and providing a metric for inaccuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If floating-point calculations are performed in neural networks, then computational performance is improved, but overflow events occur leading to NaN or inf results that cannot be processed further

Engineering Contradiction:
Improvecomputational performanceVSAvoidprocessing continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent converts the harmful overflow event into a beneficial counting mechanism. Instead of allowing overflow to produce unusable NaN or inf results, the system detects overflow events and increments a count value in a register, transforming the error condition into useful metadata that tracks computational accuracy without halting processing.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The patent introduces an intermediary counting mechanism between the floating-point calculation unit and the final result. The count value in the register acts as a mediator that captures overflow information without disrupting the main computational flow, allowing subsequent processing to continue while tracking accuracy degradation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If overflow events are not monitored, then device complexity is reduced, but network failure occurs due to unmanaged overflow occurrences

Engineering Contradiction:
Improvemonitoring mechanism complexityVSAvoidnetwork stability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system performs self-monitoring of overflow events through automatic incrementing of the count value in the register. The execution unit itself tracks its own overflow conditions without requiring external monitoring infrastructure, enabling the system to self-diagnose accuracy degradation and prevent network failure through simple count-based thresholds.

Inventive Principle:
Principle #25Self-service

3Difficulty of detecting and measuring

If a count value is maintained for each overflow event, then overflow monitoring capability is improved, but device complexity increases due to additional register and increment logic

Engineering Contradiction:
Improveoverflow detection capabilityVSAvoidregister and control logic complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent implements localized overflow counting at the execution unit level rather than system-wide monitoring. The count value is maintained in a local register associated with the execution unit, and increment logic is embedded only where overflow can occur. This local quality approach provides effective overflow detection without requiring complex system-wide monitoring infrastructure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12468534B2Overflow event counter
Publication Date: 2025.11.11 GRAPHCORE LTD
  • US12468534B2 patent drawing
  • US12468534B2 patent drawing
  • US12468534B2 patent drawing

AI summary

A processing device comprises a register configured to store a count value indicating a number of times overflow events have resulted from arithmetic operations performed by the processing device. An execution unit of the device, in response to performing an arithmetic operation having a result which extends beyond one of the predefined limit values for the floating-point format, stores a result value that is within the predefined limit values, and cause the count value to be incremented. The count value provides a performant way of determining the number of overflow events that have occurred during the arithmetic processing performed by the execution unit. The count value provides a metric that provides a measure of the inaccuracy imparted into the results of the application processing by overflow events.