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

ID 683037
日付 2/05/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.2.2.1. FP16でサポートされている精度形式

FP16半精度浮動小数点演算機能は、次の形式をサポートしています。
  • フラッシュ - 乗算器入力およびFP16乗算/加算/減算演算には、IEEE-754半精度形式 (binary16) を使用します。
  • 拡張 - 乗数入力にIEEE-754半精度形式 (binary16) を使用します。FP16の乗算/加算/減算演算には拡張形式を使用します。
  • Bfloat16 - 乗算器入力は、16ビットのbfloat16形式または19ビットの拡張bfloat16+形式を受け入れるようにコンフィグレーションできます。FP16の乗算/加算/減算演算には拡張形式を使用します。
次の表では、形式の違いを示しています。
表 18.  フラッシュ、拡張、およびBfloat形式の違い
特徴 フラッシュ 拡張 Bfloat16/Bfloat 16+
入力形式 (sign.exponent.mantissa) 1.5.10 1.5.10 1.8.7または1.8.10 (Bfloat16+)
FP16演算形式 (sign.exponent.mantissa) 1.5.10 1.8.10 1.8.10
入力幅 16ビット 16ビット 16または19ビット (Bfloat16+)
表現可能な最小指数 5'h01 - 5'h0f = -14 8'h01 - 8'h7f = -126 8'h01 - 8'h7f = -126
FP16 Subnormal サブノーマルはサポートされていません。異常な結果はゼロにフラッシュされます。 異常な結果は、正規化数として表すことができます。 サブノーマルはサポートされていません。異常な結果はゼロにフラッシュされます。
例外フラグ オーバーフロー、アンダーフロー、不正確、および無効 無限、ゼロ、不正確、および無効 オーバーフロー、アンダーフロー、不正確、および無効
無効なフラグの動作 明確に定義されていない動作がある場合にアサートされます。 明確に定義されていない動作またはqNaN入力がある場合にアサートされます。 明確に定義されていない動作がある場合にアサートされます。
丸め 最も近い偶数に丸めます (RNE)。
RNE:
  • 両方のFP16オペランドが正規化数の場合
  • FP16オペランドの1つが非正規化数であり、仮数積が1以上の場合
  • FP16オペランドの1つが非正規化数であり、仮数積= “0.1111111111|1xxxxxxxxx”の場合
  • 加算器/減算器演算を使用する場合
ゼロへの丸め (RZ)
  • 両方のFP16オペランドが非正規化数の場合
  • FP16オペランドの1つが非正規化数であり、仮数積が1以下の場合
RZ