【问题标题】:How to calculate peak FLOPS in GPGPU hardware?如何计算 GPGPU 硬件中的峰值 FLOPS?
【发布时间】:2013-09-19 17:53:17
【问题描述】:

我想计算图形硬件的理论峰值性能。嗯,其实我想了解计算。

以 AMD Radeon HD 6670 为例: AMD 加速并行处理编程指南 (http://developer.amd.com/download/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf) 在第 6-42 页的中间告诉我,取 Stream Core 的数量 (96),乘以每个 Stream Core 的每个周期的操作数(让我们取一个使用单精度加法,即 5) 并将其乘以核心时钟 (800 MHz)。结果是:

96 * 5 FLOPS * 800MHz = 384,000 MFLOPS = 384 GFLOPS

同一份文档在第 D-4 页告诉我,这个特定设备的峰值吞吐量为 768 GFLOPS,是我刚刚计算的两倍。维基百科和 AMD 主页声明相同。

所以我的问题是:我在哪里错过了两个因素?

【问题讨论】:

    标签: opencl gpu gpgpu amd-processor


    【解决方案1】:

    我不确定 AMD 硬件,但我记得 NVIDIA 将 MAD(乘加)操作计为两次失败。由于 MAD 在一个周期内执行,因此理论性能乘以 2。

    【讨论】:

      【解决方案2】:

      480 个处理元素 * 每个周期 2 次操作(单个加法流水线 + 每个元素单个乘法流水线)* 800MHz = 768 GFLOPS

      当代码的分支级别过多时,每个计算单元会下降到 1-4 个着色器,这意味着其中有 6-24 个,这意味着低至 10-40 GFlops,这甚至比单个 CPU 内核还要慢.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-21
        • 1970-01-01
        • 2022-09-27
        • 2017-09-15
        • 2016-04-05
        • 2012-10-14
        • 1970-01-01
        • 2012-09-21
        相关资源
        最近更新 更多