8-bit Floating Point Fused Multiply-Add Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning and artificial intelligence applications, particularly in deep neural networks, face challenges with the high computational intensity and memory bandwidth issues due to the use of classical 32-bit and 64-bit floating-point arithmetic, which can be alleviated by employing lower-precision 8-bit floating-point formats like FP8 for fused multiply-add operations.

Innovation Solution

The implementation of 8-bit floating-point formats, such as BF8 and HF8, which use 1-5-2 and 1-4-3 bit configurations for sign, exponent, and fraction, respectively, for FP8 data elements, along with support for stochastic rounding and variable exponential bias, to perform fused multiply-add and subtract operations efficiently, reducing memory pressure and bandwidth usage while maintaining convergence and accuracy in deep learning tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If classical 32-bit and 64-bit floating-point arithmetic is used, then numerical precision is maintained, but computational speed decreases and memory bandwidth consumption increases

Engineering Contradiction:
Improvecomputational speedVSAvoidnumerical precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent changes the precision parameter from classical 32-bit/64-bit floating-point to 8-bit floating-point formats (BF8 with 1-5-2 configuration and HF8 with 1-4-3 configuration). This parameter change reduces the bit width from 32/64 bits to 8 bits, enabling faster computation and reduced memory bandwidth consumption while maintaining sufficient numerical precision for machine learning applications through stochastic rounding techniques.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If 8-bit floating-point formats are used, then computational speed increases and memory footprint reduces, but numerical precision may be compromised

Engineering Contradiction:
Improvecomputational throughputVSAvoidnumerical accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies parameter changes by defining specific 8-bit floating-point format configurations (BF8: 1 sign bit, 5 exponent bits, 2 fraction bits; HF8: 1 sign bit, 4 exponent bits, 3 fraction bits). These parameter configurations optimize the balance between computational throughput and numerical accuracy, providing sufficient precision for deep learning workloads while achieving the desired speedup and memory efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent incorporates stochastic rounding as a feedback mechanism that adapts the rounding behavior during computations. This stochastic rounding technique provides a probabilistic approach to handling precision loss in 8-bit arithmetic, maintaining numerical accuracy by introducing controlled randomness that prevents systematic bias accumulation, thereby preserving convergence properties in deep learning training.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If lower-precision 8-bit arithmetic is used, then memory bandwidth consumption decreases, but computational accuracy may be reduced

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidcomputational accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent changes the data representation parameter from high-precision formats to 8-bit floating-point formats, reducing the memory bandwidth requirement by a factor of 4-8 times compared to 32-bit/64-bit formats. This parameter change is complemented by stochastic rounding and variable exponential bias techniques that maintain computational accuracy despite the reduced precision, achieving both memory efficiency and accuracy preservation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240045688A18-bit floating point fused multiply instructions
Publication Date: 2024.02.08 INTEL CORP
  • US20240045688A1 patent drawing
  • US20240045688A1 patent drawing
  • US20240045688A1 patent drawing

AI summary

Techniques for performing FP8 FMA in response to an instruction are described. In some examples, an instruction has fields for an opcode, an identification of location of a packed data source/destination operand (a first source), an identification of a location of a second packed data source operand, an identification of a location of a third packed data source operand, and an identification of location of a packed data source/destination operand, wherein the opcode is to indicate operand ordering and that execution circuitry is to, per data element position, perform a FP8 value fused multiply-accumulate operation using the first, second, and third source operands and store a result in a corresponding data element position of the source/destination operand, wherein the FP8 value has an 8-bit floating point format that comprises one bit for a sign, at least 4 bits for an exponent, and at least two bits for a fraction.