不过, 前阵子我和来不及思考讨论过, 对于GPU的计算能力, 有一个比较有趣的结论, 就是计算繁重的任务中, GPU的性能基本和flops无关, 而与单shader指令发射数量有关.
比如,
一个3G P4, 只有3G 指令吞吐量(SSE, 假设有co-issue), 能跑110M Ray-Triangle求交测试,
一个R580, 等效为625 x 48 = 30G吞吐, 相应结果大概是1100M.
反过来看, R580的flops高达P4的50倍。也就是说, 实际flops/性能发挥为20%左右。
其实天文数字的flops完全是MAD的结果, 实际应用中更有效的其实是CPI之类的东西。OpenRT的Ingo Wald, 在一个CELL的实际应用中的结论是, 单个SPE的性能大致和同频K8相当。而flops的差距为4倍。主要原因是x86很长一段时间没有MAD的能力。但是MAD, 理想的co-issue其实不是那么实用的。
flops/性能比的上升空间非常大, 如果G80能够提高这个比例, 那么还是完全可以期待的。 |