英特尔Agilex® 7可变精度DSP模块用户指南

ID 683037
日期 4/11/2023
Public
文档目录

3.2.2.1. FP16支持的精度格式

FP16半精度浮点算术运算函数支持以下格式:
  • Flushed - IEEE-754半精度格式(binary16)用于乘法器输入和 FP16乘法/加法/减法运算。
  • Extended - IEEE-754半精度格式(binary16)用于乘法器输入。使用扩展格式进行FP16乘法/加法/减法运算。
  • Bfloat16 - 可以配置乘法器输入来接受16位bfloat16格式或19位扩展 bfloat16+格式。使用扩展格式进行FP16乘法/加法/减法运算。
下表显示各个格式之间的差异:
表 18.  Flushed、Extended和Bfloat格式之间的差异
特性 Flushed Extended Bfloat16/Bfloat 16+
输入格式(符号.指数.尾数) 1.5.10 1.5.10 1.8.7或1.8.10 (Bfloat16+)
FP16运算格式(符号.指数.尾数) 1.5.10 1.8.10 1.8.10
输入宽度 16位 16位 16或19位 (Bfloat16+)
最小可表示指数(exponent) 5'h01 - 5'h0f = -14 8'h01 - 8'h7f = -126 8'h01 - 8'h7f = -126
FP16非规约 不支持非规约。非规约结果被刷新为零。 非规约结果可以表示为正常数字 不支持非规约。非规约结果被刷新为零。
异常标志 上溢、下溢、不准确和无效 无限、零、不精确和无效 上溢、下溢、不准确和无效
无效标志行为 当存在不明确的操作时被置位 当存在不明确定义的操作或qNaN输入时被置位 当存在不明确定义的操作时置位
四舍五入(Rounding) 四舍五入到最近的偶数 (RNE)
RNE:
  • 如果两个FP16操作数都是正常数字
  • 如果 FP16操作数之一是非规约数且尾积≥ 1
  • 如果FP16操作数之一是非规约数且尾积 = “0.1111111111|1xxxxxxxxx”
  • 使用加法器/减法器操作时
四舍五入到零(RZ)
  • 如果两个FP16操作数都是非规约常数
  • 如果FP16操作数之一是非规约数且尾积 ≤ 1
RZ