仅使用加法场景下Intel Xeon E5-2640 v4理论最大FLOPS计算咨询
Intel Xeon E5-2640 v4 理论最大浮点性能计算说明
原有计算逻辑判断
你给出的计算逻辑是局部正确的,但没有覆盖峰值性能的全部优化场景,得到的54.4GFLOPS是单核心单精度、不启用乘加并行/FMA指令下的理论峰值,不是该CPU的最大理论浮点性能。
核心疑问解答
1. 关于是否需要乘以2的问题
需要乘以2,分两种场景说明:
- Broadwell架构的每个核心配备2个256位AVX浮点执行端口,两个端口都可以独立执行加法、乘法或融合乘加(FMA)指令,就算工作负载仅包含加法运算,单周期也可以并行执行2条AVX加法指令,这时候乘以2完全合理。
- 如果使用FMA指令(AVX2配套的扩展指令,E5-2640 v4支持),单条指令可以完成「乘+加」两次浮点运算,相当于在并行执行的基础上又把单指令的浮点运算数翻了一倍,这种场景下的峰值性能还能再提一倍。
2. 计算结果的适用范围
你算出来的54.4GFLOPS确实是单核心的浮点性能值,对应单精度、仅用单条浮点执行端口、不使用FMA的场景。
不同公开数据差异的原因
不同资料的数值差大,是因为计算时的假设条件不同:
- 大于800GFLOPS的数值:对应全核心(E5-2640 v4共10核心)、单精度、启用FMA、按全核心睿频2.4GHz计算,理论值为
2.4GHz × 10核 × 2指令/周期 × 8单精度数/指令 × 2运算/指令 = 768GFLOPS,和800GFLOPS的差异来自部分统计把单核心睿频的波动收益算入。 - 约200GFLOPS的数值:对应全核心、双精度、不使用FMA、按基频计算,理论值为
2.4GHz ×10核 ×2指令/周期 ×4双精度数/指令 = 192GFLOPS,和200GFLOPS近似。 - 第三方列表的147.7GFLOPS整机数值:属于实测非峰值性能,一般是未使用AVX2指令集、仅用SSE 128位SIMD计算的结果。
内容的提问来源于stack exchange,提问作者Joxixi
相关产品推荐
相关产品推荐

