【问题标题】:FLOPS assigned to sqrt in GPU to measure performance and global efficiency分配给 GPU 中 sqrt 的 FLOPS 以测量性能和全局效率
【发布时间】:2011-08-21 10:41:19
【问题描述】:

在 GPU 实现中,我们需要根据 GLOPS 估计其性能。代码非常基本,但我的问题是我应该给操作“sqrt”或“mad”多少 FLOPS,无论是 1 还是更多。

此外,如果 1 表示这些操作的 1 FLOP,我为我的代码获得 50 GFLOPS,而此 GPU 的理论最大值为 500GFLOPS。如果我用百分比表示,我会得到 10%。在加速方面,我得到了 100 倍。所以我觉得很好,但是10%的收益好像有点低,你觉得呢?

谢谢

【问题讨论】:

    标签: optimization performance gpu flops


    【解决方案1】:

    正确的答案可能是“视情况而定”。

    对于在不同平台上运行的代码之间的纯粹比较性能,我通常将先验、sqrt、mads 算作一个操作。在这种情况下,关键性能指标是代码运行所需的时间。几乎不可能以任何其他方式进行比较 - 你将如何比较硬件指令的“FLOP”计数,用于需要 25 个周期才能退出的先验指令,与数学库生成的 fmad 指令节也需要 25循环完成?在这种情况下,计数指令或 FLOP 变得毫无意义,尽管 FLOP 计数不同,但两者都在相同数量的时钟周期内执行了所需的操作。

    另一方面,对于给定硬件上一段代码的分析和性能调整,FLOP 计数可能是一个有用的指标。在 GPU 中,通常通过查看 FLOP 或 IOP 计数和内存带宽利用率来确定给定代码的性能瓶颈所在。拥有这些数字可能会为您指明有用的优化方向。

    【讨论】:

      猜你喜欢
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      相关资源
      最近更新 更多