【问题标题】:High Performance Computing Terminology: What's a GF/s? [closed]高性能计算术语:什么是 GF/s? [关闭]
【发布时间】:2011-10-11 20:27:34
【问题描述】:

我正在读这个Dr Dobb's Article on CUDA

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

问题:GF/s 是指每秒 Giga flops 吗??

【问题讨论】:

  • FLOPS 中的 PS 代表“每秒”,FLOPS per second 因此类似于spped per secondhertz per second。如果你的意思是每秒浮点运算,那已经是 FLOPS。
  • GF/s 将是浮点运算的加速
  • 和 GF/s 可能是 GigaFlop/s 或 GigaFLOPS 的缩写。而且这个缩写比抽象的“GF”要好一点

标签: cuda terminology hpc parallel-processing


【解决方案1】:

每秒千兆次失败!

【讨论】:

    【解决方案2】:

    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 基准(求解庞大的线性方程组)来计算。该基准测试大量使用矩阵-矩阵乘法,并且是对真实世界触发器的一种近似。 Top500 超级计算机是通过并行版本的 LINPACK 基准 HPL 来衡量的。对于单 CPU,linpack 可以有高达 90-95% 的理论失败率,对于大型集群,它在 50-85% 的范围内。

    【讨论】:

    • 这能回答这个问题吗?
    • 第一行,不是吗?
    • 那么,1541 个字符中有 109 个解决了这个问题?
    • 不!这不是地址,这是一篇文章。
    • 嗯,这应该是一个事实答案;)但我修正了错别字。 (编辑:谢谢你,@Patrick87)
    【解决方案3】:

    在这种情况下,GF 是 GigaFLOPS,但 FLOPS 是“每秒浮点操作数”。我相当肯定作者并不是说 F/s 是“每秒每秒浮点运算数”,所以 GF/s 实际上是一个错误。 (除非您谈论的是在运行时提高性能的计算机,否则我猜)作者可能是指GFLOPS。

    【讨论】:

    • 我认为这本身并不是一个错误。似乎差异的根本来源是 FLOPS 是代表“每秒浮点操作”还是“浮点操作”。在前一种情况下,速度将以 FLOPS 为单位,而在后一种情况下,速度以 FLOPS/s 为单位。有时使用大写来强调区别……特别是,flops 通常代表“浮点运算”。
    • 换句话说,您假设F 代表完整的FLOPS,但正如其他人所指出的,它可能是FLO 部分的缩写。
    • 我可以将“FLOPs”的使用理解为“浮点运算”的复数形式,但术语 GFLOPS/s 或 GF/s 在 HPC 社区中并未广泛使用。
    • 嗯,在我看来,这比假设作者偷偷使用一个不寻常的(或者看起来如此,考虑到出现的混乱)缩写和错误的测量单位更有意义。编辑澄清:我并不是说GF/s == GigaFLOPS/s 其中FLOPS 是“浮点操作”或其他东西。我说GF 可能是1^9 FLOP == 10^9 FLoating point OPerations(这个缩写甚至出现在osgx 的引用中)而1/s 使它成为GFLOPS。
    • @osgx:不知道敌意来自哪里,或者我不知道我在说什么的假设。我阅读了大量 HPC 和科学计算文献,虽然我同意 FLOPS 和 FLOP/s 是相当标准的,但我认为我不会将 GF/s 称为“错误”...考虑到上下文,使用几乎总是明确的,特别是考虑到 - 正如有人指出的那样 - 每秒每秒的浮点运算通常不是通常要测量的东西。
    猜你喜欢
    • 2010-09-15
    • 2011-12-14
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2011-05-27
    • 2021-08-21
    相关资源
    最近更新 更多