Double Rounded Floating-Point Multiply Add Fusion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face performance degradation and increased die area issues when implementing fused floating-point multiply-add operations, as well as the need for recompilation and potential power inefficiencies, due to the width and accuracy requirements of floating-point hardware.

Innovation Solution

The implementation of double rounded combined floating-point multiply and add instructions, which fuse FP multiplication and addition operations with rounding, allowing for dynamic fusion at runtime or through recompilation, reducing latency and improving instruction execution efficiency by using overflow detection for precise rounding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If true fused floating-point multiply-add operations are implemented, then improved accuracy is achieved, but die area increases and performance degradation occurs for legacy applications

Engineering Contradiction:
ImproveaccuracyVSAvoiddie area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The processor is divided into multiple execution units: some with full-width floating-point multipliers and adders for accurate fused operations, and others with narrower multipliers for legacy applications. This segmentation allows different parts of the processor to handle different operation types with appropriate precision and area efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor dynamically selects which execution unit to use based on the operation type. When a fused multiply-add operation is detected, the full-width unit is used; for legacy operations, the narrower unit is used. This dynamic adaptation allows the processor to optimize between accuracy and area usage based on runtime requirements.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If full-width floating-point multipliers and adders are used for fused operations, then accuracy is improved, but performance degradation occurs for legacy applications

Engineering Contradiction:
ImproveaccuracyVSAvoidperformance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

Multiple execution units with different capabilities are provided: full-width units for fused operations and narrower units for legacy operations. This allows parallel execution paths where legacy applications can utilize the narrower, faster units while new applications get the accuracy of full-width units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor changes the operational parameters (multiplier width, adder width) based on the operation type. For fused multiply-add operations, full-width parameters are used to ensure accuracy; for legacy operations, narrower parameters are used to maintain performance. This parameter adaptation resolves the contradiction between accuracy and performance.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If floating-point hardware width is increased to support fused operations, then accuracy is improved, but power consumption increases

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

Solution Approach 1:

The processor segments its execution units into full-width and narrower variants. The full-width units consume more power but provide higher accuracy for fused operations, while narrower units consume less power for legacy operations. This segmentation allows power-efficient operation for most legacy code while providing high-accuracy paths when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware parameters (width of multipliers and adders) are changed based on the operation type. Full-width parameters are activated only when fused multiply-add operations are executed, while narrower parameters are used for legacy operations. This dynamic parameter change optimizes the balance between accuracy and power consumption based on actual workload requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9213523B2Double rounded combined floating-point multiply and add
Publication Date: 2015.12.15 INTEL CORP
  • US9213523B2 patent drawing
  • US9213523B2 patent drawing
  • US9213523B2 patent drawing

AI summary

Methods, apparatus, instructions and logic are disclosed providing double rounded combined floating-point multiply and add functionality as scalar or vector SIMD instructions or as fused micro-operations. Embodiments include detecting floating-point (FP) multiplication operations and subsequent FP operations specifying as source operands results of the FP multiplications. The FP multiplications and the subsequent FP operations are encoded as combined FP operations including rounding of the results of FP multiplication followed by the subsequent FP operations. The encoding of said combined FP operations may be stored and executed as part of an executable thread portion using fused-multiply-add hardware that includes overflow detection for the product of FP multipliers, first and second FP adders to add third operand addend mantissas and the products of the FP multipliers with different rounding inputs based on overflow, or no overflow, in the products of the FP multiplier. Final results are selected respectively using overflow detection.