Intel Agilex® 7可変精度DSPブロック・ユーザーガイド

ID 683037
日付 10/02/2023
Public
ドキュメント目次

3.2.2.7. FP16ベクトル3モード

このモードでは、単精度の累算と、2つの半精度乗算の和の計算を行います。

表 21.  ベクトル3モードに適用される式
累算入力 ベクトル3での浮動小数点加算 ベクトル3での浮動小数点減算
無効

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}

有効

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モード