Processor Data Type Conversion Instructions for Deep Learning Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors lack native support for FP16 and BF16 data types, which are essential for deep learning tasks, leading to inefficiencies and increased power consumption due to the need for additional support and precision limitations.

Innovation Solution

The implementation of instructions such as VCVTNE2PS2PH, VCVTNEPS2BF16, and VCVTNE2PS2BF16 allows for the conversion of FP32 values to FP16 or BF16, enabling processors to handle these data types without native support, thereby reducing the need for additional hardware and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If processors add native support for FP16 and BF16 data types, then computational efficiency for deep learning tasks is improved, but device complexity and power consumption increase

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses FP32 as an intermediary representation to bridge between the existing FP32 processor architecture and the desired FP16/BF16 functionality. By converting FP32 values to FP16/BF16 formats through software instructions rather than native hardware support, the system achieves low-precision computation capabilities without modifying the core processor architecture, thus avoiding increased device complexity while maintaining productivity benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If processors add native support for FP16 and BF16 data types, then computational efficiency for deep learning tasks is improved, but power consumption increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent avoids adding dedicated FP16/BF16 execution units that would consume additional power. Instead, it uses the existing FP32 execution units as intermediaries to perform conversions and computations, leveraging already-powered hardware resources to achieve low-precision computation without incremental power consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates software-based copies of FP16/BF16 functionality through instruction sequences that emulate the behavior of native low-precision operations using existing FP32 hardware. This approach replicates the computational effects of native support without the hardware overhead and associated power consumption

Inventive Principle:
Principle #26Copying

3Measurement precision

If processors use FP32 for all operations, then precision is maintained, but computational efficiency for deep learning tasks decreases

Engineering Contradiction:
ImproveprecisionVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial precision reduction by converting only specific data elements to FP16/BF16 format when needed for deep learning computations, while maintaining FP32 precision for other operations. This selective approach allows the system to gain computational efficiency for neural network operations without completely sacrificing precision where it remains necessary

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent dynamically changes the precision parameter of data representations based on computational context. By using instruction sequences that convert between FP32 and FP16/BF16 formats, the system can adjust the effective precision of operations to match the requirements of different computational stages, achieving higher efficiency for tasks that tolerate lower precision while maintaining accuracy where needed

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4202653A1Conversion instructions
Publication Date: 2023.06.28 INTEL CORP
  • EP4202653A1 patent drawingFigure 1
  • EP4202653A1 patent drawingFigure 2
  • EP4202653A1 patent drawingFigure 3

AI summary

Techniques for data type conversion using an instruction are described. An exemplary instruction includes fields for an opcode, an identification of source operands, and an identification of destination operand, wherein the opcode is to indicate execution circuitry and/or memory access circuitry is to convert 32-bit floating point values from the identified source operands into 16-bit floating point values and store 16-bit floating point values in data element positions of the identified destination operand.