如何确定计算机能够支持的FLOP数量


15

我想确定计算机可以完成的FLOP(浮点运算)的理论数量。有人可以帮我吗 (我想将我的计算机与某些超级计算机进行比较,以了解它们之间的区别)

Answers:


9

理论峰值FLOP / s由下式给出: 操作内核数很容易。从理论上讲,平均频率应考虑一定数量的Turbo Boost(Intel)或Turbo Core(AMD),但工作频率是一个很好的下限。每个周期的操作取决于体系结构,可能很难找到(SandyBridge和IvyBridge为8,请参见幻灯片26)。这是此堆栈溢出问题的主题,其中包括一堆现代体系结构的数字。

Number of CoresAverage frequencyOperations per cycle

1
好的,我有2个内核,工作频率:1.8 GHz,英特尔睿频加速技术:3.00 GHz,我找不到每个周期的操作,这里是网站:ark.intel.com/products/75460/…… 谢谢
Ol '可靠2014年

Haswell可以做16 DP /周期。我刚刚在答案正文中添加了一个SO答案的链接。
Max Hutchinson 2014年

这是否意味着我的计算机可以做到:2 x 3,000,000,000 Hz x 16 = 96千兆FLOP?
Ol'可靠2014年

这意味着它可以在2 * 1.8 GHz * 16 DP = 57.6 GFLOP / s至96 GFLOP / s之间运行,具体取决于实际平均频率。如果您需要使用一个数字,则IMO是57.6,这是更公平的选择。
Max Hutchinson

2
FLOP率通常不能很好地衡量处理器的“优劣”。例如,请参见scicomp.stackexchange.com/questions/114/…。您可能要考虑任务的限制成本(例如,计算绑定vs内存绑定vs磁盘绑定),并专注于相关硬件(计算系统,内存系统,I / O)。
Max Hutchinson

4

您将需要了解机器中CPU的型号和供应商。了解这些信息后,您可以在供应商的网站(或维基百科)上查询时钟频率,芯片/插槽数,每个芯片的核数,每个周期的浮点运算数以及这些运算的向量宽度。然后,您只需相乘。

以我工作的Stampede中的Intel Xeon E5-2680“ Sandy Bridge”处理器为例。规格是:

  • 2.7GHz的
  • 每个节点2个芯片,每个芯片8个核心
  • 2个矢量指令/周期
  • 256位宽的AVX指令(4个同时的双精度操作数)

将它们相乘得出系统未加速部分的速度为345.6 GF /节点或2.2 PF。

我们通常以双精度(64位)运算的方式来考虑,因为这是绝大多数用户所需的精度,但是您可以根据需要以单精度的方式重做计算。通常这只会更改最后一个因素,例如8个SP触发器/指令,而不是4个DP触发器/指令,但它可能与之大不相同。例如,较旧的GPU只能以SP的1/8的速度进行DP。如果您曾经为系统引用一个数字,那么如果它不是双精度的,则应该明确指出使用的是哪个数字,否则人们会认为它是双精度的。

另外,如果您的芯片支持融合乘法加法(FMA)指令,并且可以全速执行,那么大多数人都将其视为2个浮点运算,尽管硬件性能计数器可能会将其仅视为一条指令。

最后,您还可以对系统中可能存在的任何加速器(例如GPU或至强融核)执行此操作,并将该性能添加到CPU性能中以获得理论上的总和。


仅仅知道CPU模型还不够,需要找出实际的工作频率
Aksakal 2014年

@Aksakal,进行理论分析,可以选择标称频率。很难知道芯片实际运行的频率,因为这取决于工作量和空调的质量。
比尔·巴特

2

我知道您要求的是理论值,但是由于任何实际代码(甚至是LINPACK)都几乎无法访问此理论值,因此您可能只想针对非常大的矩阵运行(优化)DGEMM。我之所以喜欢这种方法,是因为它暴露了某些处理器的某些缺点,这些缺点使它们无法达到理论峰值触发器值。

例如,NVIDIA GPU当前在同一管道上执行整数和浮点运算。这意味着,如果不执行任何整数计算,则只能达到理论峰值s / s 。由于数组索引和任何其他形式的数据访问都需要在某个地方进行整数运算,因此没有代码可以在NVIDIA GPU上达到理论上的峰值触发器。在大多数情况下,人们会将〜80%作为上限。对于同时发布整数和浮点运算的CPU,这不是问题。

在类似GPU的多核处理器(如Intel Knights Corner和Blue Gene / Q)上,要达到类似类似管线问题的峰值flop / s难度要比传统CPU更高(尽管在大型DGEMM中,两者都至少可以达到约90%的峰值)。 )。


为什么没有代码可以在NVIDIA GPU上达到理论峰值s / s?
skytree

参见第2段。但是,所有这些都与较旧的体系结构有关。较新的NVIDIA架构可以同时执行整数和浮点运算,并在大型DGEMM中达到峰值的90%以上。
杰夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.