2017-06-17 46 views
0

我的工作是运行具有20个计算节点的集群系统。 我很难计算此HPC系统的最高理论性能。如何计算hpc性能rpeak

我知道HPC世界正在使用节点峰理论性能下式:在GFLOPS =(以GHz CPU速度)

节点性能X(CPU内核数量)×(每个周期CPU指​​令)x(每个节点的CPU数量)

但我没有得到如何找出(CPU指令每个周期)的CPU。 这里有20个节点的型号名称:

  1. Xeon5460 3.16Ghz 4Core * 2
  2. Xeon5450 3.00Ghz 4Core * 2
  3. Xeon5450 3.00Ghz 4Core * 2
  4. Xeon5460 3.16Ghz 4Core * 2
  5. Xeon5460 3.16Ghz 4Core * 2
  6. Xeon5460 3.16Ghz 4Core * 2
  7. Xeon5460 3.16Ghz 4Core * 2
  8. Xeon5460 3.16Ghz 4Core * 2
  9. Xeon5460 3.16Ghz 4Core * 2
  10. Xeon5460 3.16Ghz 4Core * 2
  11. Xeon2690 2.90Ghz 8Core * 2
  12. Xeon2690 2.90Ghz 8Core * 2
  13. Xeon2690 2.90Ghz 8Core * 2
  14. Xeon5680 3.33GHz的6Core * 2
  15. Xeon5660 2.80GHz的6Core * 2
  16. Xeon5660 2.80GHz的6Core * 2
  17. Xeon5660 2.80GHz的6Core * 2
  18. Xeon5660 2.80GHz的6Core * 2
  19. Xeon2680 2.80GHz的10Core * 2
  20. Xeon2680 2.80GHz的10Core * 2

我抬头英特尔的首页,但不能找到我需要的信息。 任何人都可以帮助我找出(CPU周期的指令)和系统的rpeak?

回答

2

“指令每个周期”与计算触发器无关,它应该具体为每个周期的指令浮点数。每个周期浮点指令的数量通常低于每个周期的指令总数。另外不要忘记矢量大小。

例如,对于Xeon5460(基于Penryn的Xeon),在正确的情况下,每个周期可以执行多达5条指令,但其中只有两条可以是浮点指令,并且必须能够访问不同的端口例如addpsmulps,它们都是“值得”4次操作,因为它们在4个浮点数的矢量上操作)。

无论如何,你可以使用这些号码,从this table衍生

  • 的Penryn /的Nehalem/Westmere的样,每循环2个浮点指令,向量大小4(2为双),所以8跳动/ c或4 dflop/c。 Sandy和Ivy,每个周期2个浮点运算,向量大小8(4为double),所以16个翻转/ c或8个dflop/c。
  • Haswell/Broadwell/Skylake,每个周期仍然有2个浮点运算,但它们可以是FMAs,所以32个翻转/ c或16个dflop/c,因为FMA计数为2。

在这些计算中并没有显示出这些计算之间存在更多的差异(在总的Flops中也没有,所以像往常一样我质疑这个数字是多么有用)。例如,在Skylake上,您可以在一个循环中执行2个浮点指令,例如添加,最小/最大,比较和一些转换。 Broadwell和Haswell每个周期只能做两个补充,使它们成为FMA的一部分,而最小/最大等在那里运气不好。分部吞吐量超过Haswell和Broadwell的两倍,希望部门很少,但这可能至少有有时

您可以在wikipedia上查找处理器基于哪种体系结构。尽管它们可以通过内核数量和频率进行区分,但您应该始终包含版本号,E5-2690(Sandy)与E5-2690 v4(Broadwell)完全不同。根据核心数量,您列出的是Sandy和Ivy。