最近需要写报告,中间需要写CPU的算力是多少,查了一下查到了计算公式和相关概念,特记录于此。
首先先说一下算力的概念:通常来说,说一个处理器的算力,一般指的是FLOPS,即每秒浮点运算次数,是每秒所执行的浮点运算次数(Floating-point operations per second)的简称,被用来评估电脑效能。
常见的浮点计算值的单位:
- 一个MFLOPS(megaFLOPS)等於每秒一佰万(=10^6)次的浮点运算,
- 一个GFLOPS(gigaFLOPS)等於每秒拾亿(=10^9)次的浮点运算,
- 一个TFLOPS(teraFLOPS)等於每秒万亿(=10^12)次的浮点运算,
- 一个PFLOPS(petaFLOPS)等於每秒千万亿(=10^15)次的浮点运算,
- 一个EFLOPS(exaFLOPS)等於每秒百亿亿(=10^18)次的浮点运算
- 一个ZFLOPS(zettaFLOPS)等于每秒十万京(=10^21)次的浮点运算。
CPU的算力计算公式为:
1 | FLOPS=核数×单核主频×CPU单个周期浮点计算值 |
其中参数:
- 核数:cpu参数中有表明
- 单核主频:cpu参数中有表明
- CPU单个周期浮点计算值需要根据CPU支持的指令集
如果是Intel的处理器,这三个参数都可以在Intel ARK中查询得到。第三个参数的对应关系如下表:
指令集 | 每时钟周期 单精度运算次数 | 每时钟周期 双精度运算次数 |
---|---|---|
SSE (128 bits) | 8 | 4 |
AVX (256 bits) | 16 | 8 |
AVX2 (256 bits) | 32 | 16 |
AVX512 (512 bits) | 64 | 32 (FMA=2) 16 (FMA=1) |
这里以Intel Xeon Gold 5218处理器为例,查询ARK后得知该处理器单核主频(基本频率)为2.30 GHz
,核心数为16
,该处理器支持Intel® AVX-512
指令集,AVX-512 FMA 单元数为1
(则最后一个参数为16
),则该处理器的算力为16×2.3×16=588.8GFLOPS
。