3

我想计算图形硬件的理论峰值性能。好吧,实际上我想了解计算。

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

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

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

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

4

2 回答 2

4

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

于 2013-09-15T17:08:09.063 回答
1

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

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

于 2013-09-15T19:56:10.463 回答