如何计算CPU的理论峰值性能

use*_*657 14 cpu performance cpu-speed

这是我的cat /proc/cpuinfo输出:

...

processor           : 15
vendor_id           : GenuineIntel
cpu family          : 6
model               : 26
model name          : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping            : 5
cpu MHz             : 1600.000
cache size          : 8192 KB
physical id         : 1
siblings            : 8
core id             : 3
cpu cores           : 4
apicid              : 23
fpu                 : yes
fpu_exception       : yes
cpuid level         : 11
wp                  : yes
flags               : fpu vme de pse tsc msr pae mce cx8 apic ...
bogomips            : 4533.56
clflush size        : 64
cache_alignment     : 64
address sizes       : 40 bits physical, 48 bits virtual
power management    :
Run Code Online (Sandbox Code Playgroud)

这台机器有两个CPU,每个CPU有4个具有超线程功能的内核,因此总处理器数为16(2个CPU*4个核心*2个超线程).这些处理器具有相同的输出,为了保持干净,我只显示最后一个的信息并省略标志行中的部分标志.

那么如何根据GFlops计算出该机器的峰值性能呢?如果有更多信息,请告诉我.

谢谢.

Tom*_*Tom 13

您可以查看英特尔出口规格.图表中的GFLOP通常被称为单个芯片的峰值.它显示E5520的36.256 Gflop/s.

这个单芯片有4个物理内核和SSE.所以这个GFLOP也可以计算为:2.26GHz*2(mul,add)*2(SIMD双精度)*4(物理核心)= 36.2.

您的系统有两个CPU,因此您的峰值为36.2*2 = 72.4 GFLOP/S.


小智 5

你可以在这个网站上找到一个公式:

http://www.novatte.com/our-blog/197-how-to-calculate-peak-theoretical-performance-of-a-cpu-based-hpc-system

这里的公式:

以 GFlops 为单位的性能 =(以 GHz 为单位的 CPU 速度)x(CPU 内核数)x(每个周期的 CPU 指令)x(每个节点的 CPU 数)。

所以在你的情况下:2.27x4x4x2=72.64 GFLOP/s 请参阅此处了解 CPU 的配置http://ark.intel.com/products/40200