Cuda 高性能计算术语:What';她是女朋友还是女朋友?

Cuda 高性能计算术语:What';她是女朋友还是女朋友?,cuda,terminology,hpc,parallel-processing,Cuda,Terminology,Hpc,Parallel Processing,我正在读这个 在我的系统中,全局内存带宽略高于60 GB/s。 这是很好的,直到你认为这个带宽必须服务。 128个硬件线程——每个线程都可以提供大量 浮点运算。因为是32位浮点值 占用四(4)个字节,全局内存带宽有限的应用程序 在这个硬件上只能提供大约15 GF/s的速度,或者 仅占可用性能能力的一小部分 问:GF/s意味着每秒千兆次的浮点运算???就是每秒千兆次的浮点运算 GF/s或GFLOPS是千兆次或每秒10^9次浮点运算。(GF/s是GigaFLOPS/s=GigaFLOPS的不寻常缩写

我正在读这个

在我的系统中,全局内存带宽略高于60 GB/s。 这是很好的,直到你认为这个带宽必须服务。 128个硬件线程——每个线程都可以提供大量 浮点运算。因为是32位浮点值 占用四(4)个字节,全局内存带宽有限的应用程序 在这个硬件上只能提供大约15 GF/s的速度,或者 仅占可用性能能力的一小部分


问:GF/s意味着每秒千兆次的浮点运算???

就是每秒千兆次的浮点运算

GF/s或GFLOPS是千兆次或每秒10^9次浮点运算。(GF/s是GigaFLOPS/s=GigaFLOPS的不寻常缩写,参见例如“GigaFLOPS(GF/s)=10^9次浮点”或“每秒GigaFLOPS(GF/s)”

我很清楚,GF/s不是GFLOPS/s(不是加速度)

您应该记住,CPU和GPU上的浮点操作通常以不同的方式计数。对于大多数CPU来说,64位浮点格式的操作通常被计算在内。对于GPU-32位,因为GPU在32位浮点运算中有更高的性能

计算哪些类型的操作?加法、减法和乘法是最常用的。加载和存储数据不计算在内。但是加载和存储数据是从内存中获取数据的必要条件,有时它会限制实际应用中实现的触发器(您引用的文章提到了这种情况,“内存带宽有限的应用”,CPU/GPU可以提供大量触发器,但内存无法如此快地读取所需的数据)

某些芯片或计算机的触发器是如何计数的?有两个不同的指标,一个是该芯片的触发器理论上限。它是通过将内核数、芯片频率和每个CPU的浮点运算次数相乘来计算的(Core2为4,Sandy Bridge CPU为8)


另一个指标类似于现实世界中的失败,通过运行LINPACK基准测试(解决一个庞大的线性方程组)来计算。该基准测试大量使用矩阵乘法,近似于真实世界的触发器。前500名的超级机器是由并行版本的LINPACK banchmark(HPL)测量的。对于单CPU,linpack最多可以有90-95%的理论触发器,对于大型集群,它的范围为50-85%。

GF在这种情况下是千兆次,但触发器是“每秒浮点运算”。我很确定作者并不是说F/s是“每秒浮点运算”,所以GF/s实际上是一个错误。(除非你说的是在运行时提高性能的计算机,我想)作者可能指的是GFLOPS

触发器中的PS代表“每秒”,因此与
spped/second
hertz/second
类似。如果你是指每秒的浮点运算,那已经是FLOPS了。GF/s是浮点运算的加速。GF/s可能是GigaFlop/s或GigaFLOPS的缩写。这个缩写比抽象的“GF”要好一点,这能回答问题吗?第一行,不是吗?1541个字符中有109个解决了这个问题?不!这不是一篇ADRESE,这是一篇文章。嗯,这应该是一个真实的答案;)但是我修正了打字错误。(编辑:谢谢,@Patrick87)我认为这本身不是一个错误。看起来差异的根本原因在于触发器是代表“每秒浮点运算”还是“浮点运算”。在前一种情况下,速度以FLOPS为单位测量,而在后一种情况下,速度以FLOPS/s为单位测量。大写有时用来强调。。。特别是,flops通常代表“浮点运算”。换句话说,你假设
F
代表一个完整的
flops
,但正如其他人所指出的,它可能是
FLO
部分的缩写。我可以看到“flops”的用法是“浮点运算”的复数含义,但是GFLOPS/s或GF/s这个词在HPC社区中并没有被广泛使用。在我看来,这比假设作者同时使用了一个不寻常的缩写(或者,考虑到出现的混乱,似乎是这样)和一个错误的计量单位更有意义。编辑到Clarify:我不是说
GF/s==GigaFLOPS/s
其中
FLOPS
是“浮点运算”之类的。我是说,
GF
可能是
1^9 FLOP==10^9浮点运算
(这个缩写甚至在osgx的引用中)而
1/s
则是GFLOPS。@osgx:不确定敌意来自何方,也不知道我在说什么。我阅读了大量的HPC和科学计算文献,虽然我同意FLOPS和FLOP/s是相当标准的,但我不认为我会把GF/s称为“错误”。。。考虑到上下文,这种用法几乎总是毫不含糊的,特别是考虑到——正如有人指出的那样——每秒的浮点运算通常不是一种常用的度量方法。