インテル® Agilex™ 可変精度DSPブロック・ユーザーガイド

ID 683037
日付 2/05/2021
Public
ドキュメント目次

3.2.2.7. FP16ベクトル3モード

このモードは、単精度の累積と2つの半精度の乗算の合計を実行します。

表 21.  ベクトル3モードに適用される等式
累積入力 浮動小数点加算を持つベクトル3 浮動小数点減算を持つベクトル3
Disable

fp32_result(t) = fp32_adder_a(t)

fp32_chainout = {fp16_mult_top_a * fp16_mult_top_b} + {fp16_mult_bot_a * fp16_mult_bot_b}

fp32_result(t) = fp32_adder_a(t)

fp32_chainout = {fp16_mult_top_a * fp16_mult_top_b} - {fp16_mult_bot_a * fp16_mult_bot_b}

Enable

fp32_result(t) = fp32_adder_a(t) + fp32_result(t-1)

fp32_chainout = {fp16_mult_top_a * fp16_mult_top_b} + {fp16_mult_bot_a * fp16_mult_bot_b}

fp32_result(t) = fp32_adder_a(t) - fp32_result(t-1)

fp32_chainout = {fp16_mult_top_a * fp16_mult_top_b} - {fp16_mult_bot_a * fp16_mult_bot_b}

以下は、フラッシュおよびbfloat16形式でサポートされている例外フラグです。
  • fp16_mult_top_invalid
  • fp16_mult_top_inexact
  • fp16_mult_top_overflow
  • fp16_mult_top_underflow
  • fp16_mult_bot_invalid
  • fp16_mult_bot_inexact
  • fp16_mult_bot_overflow
  • fp16_mult_bot_underflow
  • fp16_adder_invalid
  • fp16_adder_inexact
  • fp16_adder_overflow
  • fp16_adder_underflow
  • fp32_adder_invalid
  • fp32_adder_inexact
  • fp32_adder_overflow
  • fp32_adder_underflow
以下は、拡張形式でサポートされている例外フラグです。
  • fp16_mult_top_invalid
  • fp16_mult_top_inexact
  • fp16_mult_top_infinite
  • fp16_mult_top_zero
  • fp16_mult_bot_invalid
  • fp16_mult_bot_inexact
  • fp16_mult_bot_infinite
  • fp16_mult_bot_zero
  • fp16_adder_invalid
  • fp16_adder_inexact
  • fp16_adder_infinite
  • fp16_adder_zero
  • fp32_adder_invalid
  • fp32_adder_inexact
  • fp32_adder_overflow
  • fp32_adder_underflow
図 38. FP16ベクトル3モード