FP8 Source Arithmetic Instructions for Lower Memory Pressure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning and artificial intelligence applications face challenges with memory and bandwidth issues due to the high computational intensity of deep neural network training, particularly when using classical IEEE-754 32-bit and 64-bit arithmetic, which can be alleviated by employing 8-bit floating-point operations.

Innovation Solution

Implementing 8-bit floating-point (FP8) arithmetic operations, including instructions for addition, subtraction, multiplication, division, and reciprocal calculations, with support for denormal inputs, various rounding modes, and optional up/down conversions to manage memory and bandwidth efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If classical IEEE-754 32-bit and 64-bit arithmetic is used, then numerical precision is maintained, but memory pressure and bandwidth requirements increase

Engineering Contradiction:
Improvenumerical precisionVSAvoidmemory pressure
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the precision parameter from classical 32-bit and 64-bit floating-point formats to 8-bit floating-point format. This parameter change reduces the memory footprint and bandwidth requirements by a factor of 4-8x while maintaining sufficient numerical precision for machine learning applications through careful design of the FP8 format and supporting operations

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If classical IEEE-754 32-bit and 64-bit arithmetic is used, then numerical precision is maintained, but computational speed decreases

Engineering Contradiction:
Improvenumerical precisionVSAvoidcomputational speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent changes the precision parameter from classical 32-bit and 64-bit floating-point formats to 8-bit floating-point format. This parameter change enables computational speedups of up to 2X by reducing the complexity of arithmetic operations while maintaining sufficient numerical precision for machine learning workloads

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the floating-point format into smaller 8-bit elements that can be processed more efficiently. By dividing the data into smaller units, the system can perform multiple operations in parallel and reduce the computational complexity of each individual operation, achieving higher throughput

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If 8-bit floating-point operations are implemented, then memory pressure and bandwidth requirements are reduced, but computational complexity increases

Engineering Contradiction:
Improvememory pressureVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges multiple operations into fused-multiply-add (FMA) units that can perform multiplication and addition in a single operation cycle. This merging of operations reduces the overall computational complexity by eliminating intermediate storage and multiple operation sequences, while the 8-bit format keeps the individual operation complexity low

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4318228B18-bit floating point source arithmetic instructions
Publication Date: 2025.09.10 INTEL CORP
  • EP4318228B1 patent drawingFigure 1
  • EP4318228B1 patent drawingFigure 2
  • EP4318228B1 patent drawingFigure 3

AI summary

Techniques for performing arithmetic operations on FP8 values are described. An exemplary instruction includes fields for an opcode, an identification of a location of a first packed data source operand, an identification of a location of a second packed data source operand, and an identification of location of a packed data destination operand, wherein the opcode is to indicate an arithmetic operation execution circuitry is to perform, for each data element position of the identified packed data source operands, the arithmetic operation on FP8 data elements in that data element position in FP8 format and store a result of each arithmetic operation into a corresponding data element position of the identified packed data destination operand.