BF16 Classification and Manipulation Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current floating-point representation formats, such as FP16, are insufficient for deep learning tasks due to limited range and precision, while BF16 offers better suitability for machine learning applications by maintaining range and providing a regularization property through lower precision.

Innovation Solution

The implementation of instructions and hardware support for extracting exponents, mantissas, and classifying BF16 values, including instructions like FPCLASSNEPBF16, VGETEXPNEPBF16, and VGETMANNEPBF16, which operate on BF16 data elements to perform operations like classification, exponent extraction, and mantissa normalization, enabling efficient processing of BF16 data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If FP16 format is used to reduce precision and increase computational speed, then processing speed improves, but range and precision are insufficient for deep learning tasks

Engineering Contradiction:
Improvecomputational speedVSAvoidprecision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent changes the floating-point format parameters from FP16 (10-bit mantissa, 5-bit exponent) to BF16 (7-bit mantissa, 8-bit exponent), maintaining 16-bit width while adjusting the distribution between precision and range to better suit deep learning requirements

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If BF16 format is used to maintain range and provide regularization, then suitability for machine learning improves, but additional instructions and hardware support are required

Engineering Contradiction:
Improvesuitability for machine learningVSAvoidhardware support requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs execution units that can handle multiple floating-point formats (FP32, FP64, FP16, BF16) through a unified architecture, where the same execution unit performs operations on different formats by interpreting format-specific control signals and operand layouts

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If classification and extraction instructions are implemented for BF16 data, then processing efficiency and accuracy improve, but instruction set complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the BF16 data processing into distinct operational phases: classification of special values (NaN, infinity, zero), extraction of exponent and mantissa components, and normalization operations. Each phase is handled by specific instructions that operate independently on packed BF16 data elements

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230060146A1Bfloat16 classification and manipulation instructions
Publication Date: 2023.03.02 INTEL CORP
  • US20230060146A1 patent drawing
  • US20230060146A1 patent drawing
  • US20230060146A1 patent drawing

AI summary

Techniques for BF16 classification or manipulation using single instructions are described. An exemplary instruction includes fields for an opcode, an identification of a location of a packed data source operand, an indication of one or more classification checks to perform, 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 classification according to the indicated one or more classification checks and store a result of the classification in a corresponding data element position of the destination operand.