gpu浮点计算能力floaps_关于CPU的浮点运算能力计算

学了IT那么久,只知道CPU主频不断的提升,核数也越来越多,但是如何理论上计算出不同代CPU性能的提升,还真没有认真思考过,我估计大多数人也不会关注,这次由于要进行高性能集群项目遇到,刚好认真的研究了一下CPU的浮点计算理论值。记录一下过程。

首先,FLOAS=核数*单核主频*CPU单个周期浮点计算值。

上述三个参数中,核数,单核主频在CPU型号都会标明,只有CPU单个周期浮点计算值这个要深入思考一下。

首先要了解CPU指令集的概念。

现在服务器的CPU都是AVX-512指令集了,

对应CPU能处理什么样的指令集,可以查intel官方的Specifications.比如我想查Intel® Xeon® Gold 6142 Processor这款CPU的支持哪种指令,可以查如下链结https://ark.intel.com/products/120487/Intel-Xeon-Gold-6142-Processor-22M-Cache-2-60-GHz-

同时还能查到此款CPU的AVX-512 FMA Units是2,这个意思是可以单个CPU周期可以同时执行2条512bit 加法和2条512bit 乘法。

其次是理解单精度和双精度浮点运算概念,简单的理解单精度就是指32bit的指令长度的运算,对应操作系统就是32位操作系统;双精度就是指64bit指令长度的运算,对应操作系统就是64位操作系统。

理解上述二个概念,我们就可以算出CPU单周期浮点计算能力了,

CPU单周期双精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/64

CPU单周期双精度浮点计算能力=2(FMA数量)*2(同时加法和乘法)*512/32

可以理解为单个CPU周期能够同时执行加法和乘法的指令的条数。

例如上述的Intel 6142 CPU的浮点能力可以计算出,6142是16核,每核2.6GHz

FLOAS(双精度)=16*2.6*(2*2*512/64)=1331.2GFLOAs

FLOAS(单精度)=16*2.6*(2*2*512/32)=2662.4GFLOAs

可以理解此款CPU的双精度浮点运算峰值为1.3TFLOAs,单精度为2.6TFLOAs.

对一个计算节点,有可能有多个CPU,那么对于计算节点,单个CPU浮点运算峰值要乘以CPU个数才是一个计算节点的浮点运算峰值。

常用的CPU情况:

Intel Core 2 and Nehalem:

4 DP FLOPs/cycle: 2-wide SSE2 addition + 2-wide SSE2 multiplication

8 SP FLOPs/cycle: 4-wide SSE addition + 4-wide SSE multiplication

Intel Sandy Bridge/Ivy Bridge:

8 DP FLOPs/cycle: 4-wide AVX addition + 4-wide AVX multiplication

16 SP FLOPs/cycle: 8-wide AVX addition + 8-wide AVX multiplication

Intel Haswell/Broadwell/Skylake/Kaby Lake:

16 DP FLOPs/cycle: two 4-wide FMA (fused multiply-add) instructions

32 SP FLOPs/cycle: two 8-wide FMA (fused multiply-ad

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值