CPU 算力如何计算
本文分享自天翼云开发者社区《CPU算力如何计算》,作者:l****n
什么是算力
随着国家大力发展数字基础设施,算力的提升和普惠变得越来越重要,它注定会在人们的视线中占据很重要的一席。那么算力是什么呢
所谓算力,简而言之就是设备的计算能力(Computing Power)。小至手机、PC,大到超级计算机,没有算力就没有各种软硬件的正常应用。以 PC 而言,搭载的 CPU、显卡、内存配置越高,一般来说算力就越高。
算力的单位
大数据时代,数据和算力都是巨量的,这里先解释一下单位巨大量级的表示方式:K(Kilo)表示 103 、M(Mega)表示 106 、 G(Giga)表示 109 、 T(Tera)表示 1012 、 P(Peta) 表示 1015、E(Exa)表示 1018、Z(Zetta)表示 1021 、 Y(Yotta) 表示 1024。
算力的单位,是衡量算力强弱的指标和基准,当前存在多种不同的衡量方法。常见的包括 MIPS(每秒钟执行的百万指令数,Million Instructions Per Second)、DMIPS(Dhrystone 每秒钟执行的百万指令数,Dhrystone Million Instructions executed Per Second)、OPS(每秒操作次数,Operations Per Second)、FLOPS(每秒浮点运算次数,Floating-point Operations Per Second)、Hash/s(每秒哈希运算次数,Hash Per Second)等。
其中,FLOPS 单位一直被视为衡量计算机运算速度的主要指标之一。从量级来看,PC 的算力为 GFLOPS 级别;中国超级计算机神威“太湖之光”的算力为 93.015PFLOPS;鹏程实验室的鹏程云脑 II(以华为 Atlas 900 集群为底座)拥有 1000PFLOPS 的强大算力,相当于数千万甚至上亿台 PC 的集合。
如何计算 CPU 算力
GPU 卡通常在发布时候就公布了有单精度或者双精度的算力值,可以直接获取,CPU 通用算力则需要我们自己计算.
我们常用用双精度浮点运算能力衡量一个处理器的科学计算的能力,就是处理 64bit 小数点浮动数据的能力,针对 CPU 的算力计算如下:
支持 AVX2 的处理器的单指令的长度是 256bit,每个 intel 核心假设包含 2 个 FMA,一个 FMA 一个时钟周期可以进行 2 次乘或者加的运算,那么这个处理器在 1 个核心 1 个时钟周期可以执行 256bit*2FMA*2M/A/64=16 次浮点运算,也称为 16FLOPs,就是 Floating Point Operations Per Second;
支持 AVX512 的处理器的单指令的长度是 512Bit,每个 intel 核心假设包含 2 个 FMA,一个 FMA 一个时钟周期可以进行 2 次乘或者加的运算,那么这个处理器在 1 个核心 1 个时钟周期可以执行 512bit*2FMA*2M/A/64=32 次浮点运算,也称为 32FLOPs,
这就是说理论上后者的运算能力其实是前者的一倍,但是实际中不可能达到,因为进行更长的指令运算,流水线之间更加密集,但核心频率会降低;导致整个处理器的能力降低;
一个处理器的计算能力和核心的个数,核心的频率,核心单时钟周期的能力三个因素有关系
例如:现在 intel purley platform 的旗舰 skylake 8180 是 28Core@2.5GHZ,支持 AVX512,其理论双精度浮点性能是:28Core*2.5GHZ*32FLOPs/Cycle=2240GFLPs=2.24TFLOPs
例如:现在 intel purley platform 的旗舰 cascade lake 8280 是 28Core@2.7GHZ,支持 AVX512,其理论双精度浮点性能是:28Core*2.7GHZ*32FLOPs/Cycle=2419.2GFLPs=2.4192TFLOPs
评论