Processor Instruction for BF16 to FP32 Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors lack native support for BF16 and FP16 data types, which limits their ability to handle deep learning tasks efficiently due to the need for conversion to FP32, resulting in increased power consumption and area requirements.

Innovation Solution

The introduction of instructions such as VBCSTNEBF162PS and VBCSTNESH2PS allows for the conversion of BF16 and FP16 values to FP32, enabling processors to handle these formats without native support by appending zeros to the mantissa and adjusting exponents, thereby facilitating execution in existing hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If processors use native FP32 arithmetic for deep learning tasks, then computational accuracy is maintained, but power consumption and area requirements increase

Engineering Contradiction:
Improvecomputational accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent changes the precision parameter from standard FP32 to reduced-precision formats (FP16, BF16), thereby reducing power consumption while maintaining sufficient accuracy for deep learning tasks. The converter circuit enables processors to operate with these alternative precision parameters.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a converter circuit as an intermediary component that translates between reduced-precision formats and standard FP32 formats. This mediator allows the processor to use efficient reduced-precision arithmetic while maintaining compatibility with existing FP32-based systems and algorithms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If processors use native FP32 arithmetic for deep learning tasks, then computational accuracy is maintained, but hardware area requirements increase

Engineering Contradiction:
Improvecomputational accuracyVSAvoidhardware area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent changes the precision parameter from standard FP32 to reduced-precision formats (FP16, BF16), thereby reducing hardware area requirements while maintaining sufficient accuracy for deep learning tasks. The converter circuit enables processors to operate with these alternative precision parameters.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a converter circuit as an intermediary component that translates between reduced-precision formats and standard FP32 formats. This mediator allows the processor to use efficient reduced-precision arithmetic while maintaining compatibility with existing FP32-based systems and algorithms.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If processors convert BF16/FP16 to FP32 using existing hardware, then compatibility with current architecture is maintained, but additional conversion circuitry increases device complexity

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidconversion circuitry
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The converter circuit is designed to handle multiple floating-point formats (FP16, BF16) and convert them to FP32, providing universal support for various precision formats within a single circuit design. This multi-functional approach reduces overall system complexity compared to having separate conversion paths for each format.

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

Data Source

PatentUS20230205521A1Conversion instructions
Publication Date: 2023.06.29 INTEL CORP
  • US20230205521A1 patent drawing
  • US20230205521A1 patent drawing
  • US20230205521A1 patent drawing

AI summary

Techniques for data type conversion are described. An example uses an instruction that is to include fields for an opcode, an identification of source operand location, and an identification of destination operand location, wherein the opcode is to indicate instruction processing circuitry is to convert a 16-bit floating-point value from the identified source operand location into a 32-bit floating point value and store that 32-bit floating point value in one or more data element positions of the identified destination operand.