QUICK REVIEW
[论文解读] Short Note on Costs of Floating Point Operations on current x86-64 Architectures: Denormals, Overflow, Underflow, and Division by Zero
Markus Wittmann, Thomas Zeiser|arXiv (Cornell University)|Jun 12, 2015
Parallel Computing and Optimization Techniques被引用 4
一句话总结
本文使用 AVX、AVX2 和 FMA3/4 指令,在现代 x86-64 处理器上量化了浮点异常(非规格化数、溢出、下溢和除零)的性能开销。结果表明,在未启用 FTZ/DAZ 的情况下,非规格化运算的性能损失高达 100 倍;而 FMA 指令仅在加法部分发生下溢时才产生显著开销。主要贡献在于对英特尔和 AMD 系统在周期级延迟的实测数据,揭示了在数值计算工作负载中,禁用 FTZ/DAZ 会严重降低性能。
ABSTRACT
Simple floating point operations like addition or multiplication on normalized floating point values can be computed by current AMD and Intel processors in three to five cycles. This is different for denormalized numbers, which appear when an underflow occurs and the value can no longer be represented as a normalized floating-point value. Here the costs are about two magnitudes higher.
研究动机与目标
- 量化现代 x86-64 处理器上浮点异常(非规格化数、溢出、下溢和除零)的性能影响。
- 评估使用 FTZ(Flush-to-Zero)和 DAZ(Denormals-Are-Zero)模式对浮点运算执行延迟的影响。
- 使用 AVX、AVX2 和 FMA3/4 指令集,测量规范化与非规格化浮点运算之间的性能差异。
- 识别在异常发生时性能开销最高的浮点运算,特别是 FMA 指令。
提出的方法
- 使用 C/C++ 和汇编语言实现微基准测试,以隔离双精度向量的浮点运算。
- 通过 AVX 指令对内层循环进行向量化,实现每周期处理四个元素,最大限度减少内存瓶颈。
- 通过内联函数操作 MXCSR 控制寄存器,启用或禁用 FTZ 和 DAZ 模式,从而测量性能差异。
- 在三台英特尔(SandyBridge、IvyBridge、Haswell)和一台 AMD(Interlagos)系统上,使用高分辨率计时测量延迟。
- 对四种运算类型进行基准测试:加法、乘法、除法和融合乘加(FMA),并通过输入配置触发特定异常。
- 结果以每操作周期数表示,并在不同处理器微架构上对比规范化与异常情况下的性能表现。
实验结果
研究问题
- RQ1在当前 x86-64 处理器上,非规格化浮点运算相比规范化运算的性能开销有多大?
- RQ2FTZ 和 DAZ 模式如何影响涉及下溢、溢出或除零的浮点运算延迟?
- RQ3与单独的乘法和加法指令相比,FMA 指令在下溢情况下的敏感度是否更高或更低?
- RQ4NaN 值或除零是否显著增加 AVX 和 FMA 指令的执行时间?
主要发现
- 在英特尔 Haswell 和 AMD Interlagos 上,规范化 AVX 加法和乘法耗时 3–5 个周期,但未启用 FTZ/DAZ 时下溢运算需 30–40 个周期,性能损失达 10 倍至 100 倍。
- 当启用 FTZ/DAZ 时,除零操作很快(4–5 个周期),但涉及非规格化操作数时延迟显著增加(最高达 64 个周期)。
- 对于除法,被除数或除数发生下溢时,延迟从约 7 个周期增至 Haswell 上的 56.5 个周期,表明存在严重性能损失。
- FMA 指令仅在加法部分发生下溢时才产生开销:乘法部分下溢的 FMA 无性能惩罚,但加法部分下溢的 FMA 需要 33.5–36.5 个周期。
- 启用 FTZ 和 DAZ 后,所有异常情况(下溢、溢出、NaN、除零)的性能影响可忽略不计,延迟与规范化运算相当。
- 非规格化输入的性能损失在除法和加法中最为严重,而乘法和 FMA 的表现则更复杂,取决于哪个组件发生下溢。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。