知方号

知方号

算力理解DMIPS、FLOPS区别和联系

算力理解DMIPS、FLOPS区别和联系

DMIPS、FLOPS区别和联系 1. 什么是DMIPS?2. 什么是FLOPS?3. 怎么评测DMIPS?3.1 用Dhrystone可以实测DMIP3.2 通过公式计算DMIPS 4 怎么计算FLOPS?5. DMIPS和FLOPS的关系

1. 什么是DMIPS?

DMIPS:Dhrystone Million Instructions executed Per Second :主要用于测整数计算能力。

2. 什么是FLOPS?

FLOPS:Floating-point Operations per Second:主要用于测浮点计算能力。

3. 怎么评测DMIPS? 3.1 用Dhrystone可以实测DMIP

参考1: https://wiki.cdot.senecacollege.ca/wiki/Dhrystone_howto

注:我是ubuntu系统,修改Makefile:

TIME_FUNC= -DTIME # Use times(2) for measurement OPTIMIZE= -O3

如果想在嵌入式平台跑,需要设置交叉编译环境,修改GCC为指定平台的GCC:

GCC=/opt/toolchains/linux-toolchain-aarch64/bin/aarch64-linux-gnu-gcc

参考2:https://www.zhihu.com/question/311816940/answer/715901367

3.2 通过公式计算DMIPS

一般芯片都有DMIPS/MHZ信息,比如arm cortex-a53, 为2.3DMIPS/MHZ, 则四核A53,1.5ghz的总DMIPS为:

41.51000mhz*2.3 DMIPS/MHZ //参考:https://blog.csdn.net/ywcpig/article/details/80340607 //参考:https://www.zhihu.com/question/37202806/answer/81965320

4 怎么计算FLOPS?

对于intel cpu, 计算方法为:

GFlops = (CPU speed in GHz) x (number of CPU cores) x (CPU instruction per cycle) x (number of CPUs per node). //参考:https://stackoverflow.com/questions/6289745/how-to-compute-the-theoretical-peak-performance-of-cpu //参考:https://blog.csdn.net/cloudeagle_bupt/article/details/8840589

这里关键在于:

CPU instruction per cycle

intel的CPU每个型号都可以查到该信息。

而对于ARM的cpu,我暂时还不知道怎么计算FLOPS,需要实测。

5. DMIPS和FLOPS的关系

一个表示整数运算能力,一个表示浮点数运算能力,二者不能完全等同。CPU性能评估采用综合测试程序,较流行的有Whetstone 和 Dhrystone 两种。Dhrystone主要用于测整数计算能力,计算单位就是DMIPS。采用Whetstone 主要用于测浮点计算能力,计算单位就是MFLOPS。 参考:https://blog.csdn.net/u011776903/article/details/79606980

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。