Partial Product Compression for Fused Multiply-Accumulate Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing arithmetic processing devices face challenges in efficiently and accurately executing fused multiply-and-accumulate instructions with packed-single-precision floating-point operands, leading to increased cycle delay and power consumption.

Innovation Solution

The implementation of a method and apparatus that compresses partial products during the fused multiply-and-accumulate operation, utilizing a Booth encoder, carry-save adders, and a compression tree to generate corrected carry and sum outputs, allowing for the execution of fused multiply-and-accumulate instructions with packed single-precision operands, thereby reducing cycle delay and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional separate multiply and add instructions are used, then implementation simplicity is maintained, but computation speed and accuracy deteriorate due to multiple rounding steps

Engineering Contradiction:
Improvecomputation accuracyVSAvoidinstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the multiply and add operations into a single fused multiply-and-accumulate (FMAC) instruction that computes the entire sum C+A×B to full precision before rounding, eliminating the need for separate multiply and add instructions and their associated multiple rounding steps

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If packed single-precision format is used, then data processing efficiency is improved, but computation accuracy deteriorates due to precision limitations

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidfloating-point precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent processes packed single-precision operands by dividing them into high and low parts, computing their contributions separately in different precision dimensions, then combining the results to achieve both efficiency and accuracy

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If high-part result computation waits for low-part result, then computation accuracy is maintained, but cycle delay increases

Engineering Contradiction:
Improvecomputation accuracyVSAvoidcycle delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary computation of the high-part result using available information before the low-part result is ready, then applies corrections after the low-part result becomes available, eliminating the need to wait for low-part completion before starting high-part computation

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If conventional compression tree is used, then device complexity is reduced, but power consumption and cycle delay increase

Engineering Contradiction:
Improvecompression logic complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent segments the compression tree into multiple levels with selective activation, where different compression levels are enabled or disabled based on operand characteristics, reducing unnecessary computation and power consumption while maintaining accuracy

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8838664B2Methods and apparatus for compressing partial products during a fused multiply-and-accumulate (FMAC) operation on operands having a packed-single-precision format
Publication Date: 2014.09.16 ADVANCED MICRO DEVICES INC
  • US8838664B2 patent drawing
  • US8838664B2 patent drawing
  • US8838664B2 patent drawing

AI summary

The disclosed embodiments relate to methods and apparatus for accurately, efficiently and quickly executing a fused multiply-and-accumulate instruction with respect to floating-point operands that have packed-single-precision format. The disclosed embodiments can speed up computation of a high-part of a result during a fused multiply-and-accumulate operation so that cycle delay can be reduced and so that power consumption can be reduced.