我正在读这个Dr Dobb's Article on CUDA
在我的系统中,全局内存带宽略高于60 GB / s。 在您考虑此带宽必须服务之前,这是非常好的 128个硬件线程 - 每个线程都可以提供大量的线程 浮点运算。由于32位浮点值 占用四(4)个字节,全局内存带宽受限的应用程序 在这个硬件上只能提供大约15 GF / s - 或者 只占可用性能的一小部分。
问题:GF / s意味着每秒Giga翻牌??
答案 0 :(得分:2)
每秒Giga的翻牌就是它!
答案 1 :(得分:1)
GF / s或GFLOPS是GigaFlops或每秒10 ^ 9次浮动操作。 (GF / s是GigaFLOP / S = GigaFLOPS的有点不寻常的缩写,参见例如here“Gigaflops(GF / s)= 10 ^ 9 flops”或here“gigaflops per second(GF / s) “)。
我很清楚GF / s不是GFLOPS / s(不是加速度)。
你应该记住,CPU和GPU上的浮动操作通常以不同的方式计算。对于大多数CPU,通常会计算64位浮点格式操作。对于GPU-32位,因为GPU在32位浮点中具有更高的性能。
计算哪些类型的操作?加法,减法和乘法是。加载和存储数据不计算在内。但是加载和存储数据对于从/向内存获取数据是必要的,有时它会限制在实际应用中实现的FLOPS(你引用的文章说这个案例,“内存带宽有限的应用程序”,当CPU / GPU可以提供大量的FLOPS但内存无法如此快速地读取所需数据。
如何计算某些芯片或计算机的FLOPS?有两种不同的指标,一种是针对该芯片的FLOPS的理论上限。它通过将核心数,芯片频率和每个CPU滴答的浮点运算相乘来计算(Core2为4,Sandy Bridge CPU为8)。
其他指标类似于真实世界的翻转,通过运行LINPACK基准(求解一个巨大的线性方程组)来计算。这个基准使用矩阵矩阵乘法很多,并且是现实世界的触发器的近似。超级计算机的500强是通过LINPACK banchmark的并行版本HPL来衡量的。对于单CPU,linpack可以有高达90-95%的理论触发器,对于大型集群,它可以达到50-85%的范围。
答案 2 :(得分:-1)
GF在这种情况下是GigaFLOPS,但FLOPS是“每秒浮点运算”。我很确定作者并不是说F / s是“每秒每秒浮点运算”,所以GF / s实际上是一个错误。 (除非你在谈论一台在运行时提高性能的计算机,我猜)作者可能意味着GFLOPS。