FP8 Square Root Instructions for Low-Bandwidth ML Arithmetic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning applications face challenges with memory utilization and bandwidth issues due to the use of higher-precision arithmetic, which can be addressed by employing 8-bit floating-point formats like BF8 and HF8 for operations such as fused multiply-add (FMA), while maintaining numerical accuracy and enabling faster computations.

Innovation Solution

Implementing instructions for calculating square roots and reciprocal square roots of FP8 data elements, which support operations like FMA, and utilizing stochastic rounding to manage precision and reduce memory pressure, with hardware support for denormal handling and exception flags.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If higher-precision arithmetic (FP32, FP64) is used for machine learning computations, then numerical accuracy is improved, but memory utilization and bandwidth requirements increase

Engineering Contradiction:
Improvenumerical accuracyVSAvoidmemory utilization
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the precision parameter from traditional FP32/FP64 to FP8 format, fundamentally altering the data representation parameters (1 sign bit, 4 exponent bits, 3 fraction bits for HF8; 1 sign bit, 5 exponent bits, 2 fraction bits for BF8). This parameter change reduces memory utilization by a factor of 4-8x while maintaining acceptable numerical accuracy for machine learning workloads through stochastic rounding techniques.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If higher-precision arithmetic (FP32, FP64) is used for machine learning computations, then numerical accuracy is improved, but computation speed decreases

Engineering Contradiction:
Improvenumerical accuracyVSAvoidcomputation speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

By changing the precision parameter to FP8, the patent enables faster computation throughput. The reduced bit width allows for quicker data movement and processing, achieving up to 8x speedup compared to FP32 while maintaining numerical accuracy through careful design of the floating-point format and stochastic rounding mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If 8-bit floating-point format is used, then memory bandwidth requirements are reduced, but numerical accuracy may deteriorate

Engineering Contradiction:
Improvememory bandwidthVSAvoidnumerical accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent optimizes the FP8 format parameters with two variants: HF8 (4 exponent bits, 3 fraction bits) prioritizing range, and BF8 (5 exponent bits, 2 fraction bits) prioritizing precision. These parameter configurations balance memory bandwidth reduction with numerical accuracy preservation for different machine learning workload requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements stochastic rounding as a feedback mechanism that randomly rounds values during computation to maintain statistical accuracy over time. This feedback approach prevents systematic bias accumulation that would otherwise degrade numerical accuracy in reduced-precision arithmetic, ensuring long-term numerical stability while maintaining low memory bandwidth requirements.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12572359B28-bit floating point square root and/or reciprocal square root instructions
Publication Date: 2026.03.10 INTEL CORP
  • US12572359B2 patent drawing
  • US12572359B2 patent drawing
  • US12572359B2 patent drawing

AI summary

Techniques for performing square root or reciprocal square root calculations on FP8 data elements in response to an instruction are described. An example of an instruction is one that includes fields for an opcode, an identification of a location of a packed data source operand, and an identification of a packed data destination operand, wherein the opcode is to indicate that execution circuitry is to perform, for each data element position of the packed data source operand, a calculation of a square root value of a FP8 data element in that position and store a result of each square root into a corresponding data element position of the packed data destination operand.