代码优化的差异会对GPU和CPU之间的性能差异产生多大影响?

时间:2015-01-02 04:52:31

标签: performance cuda gpu cpu

在阅读有关CUDA编程的教程时,有很多优化(例如循环展开,预取,平铺,指令混合)和调优技术(动态分区,线程粒度等)。如#34;编程大规模并行处理器"由Kirk和Hwu。对于试图说明GPU比CPU更快的人来说,他们可能会大量优化他们的GPU代码,而不是那么多地优化他们的CPU代码。代码优化的差异对GPU和CPU之间的性能差异有多大影响?

1 个答案:

答案 0 :(得分:1)

未优化的CPU代码和优化的GPU代码之间的差异几乎可以任意大,但最近报道的1000x并不少见。

你可能会发现“揭开100X GPU与CPU的神话:对CPU和GPU吞吐量计算的评估”(http://dx.doi.org/10.1145/1816038.1816021)相关阅读。

NVIDIA论坛也讨论了这个主题:https://devtalk.nvidia.com/default/topic/469491/intel-paper-debunking-the-100x-gpu-vs-cpu-myth/

我写了几篇比较CPU和GPU实现的论文(http://dx.doi.org/10.1109/SAAHPC.2011.28http://pubs.acs.org/doi/abs/10.1021/ct100584w)。当我展示这项工作时,我会通过一个简单但准确的相关算法性能模型引导观众,该模型为GPU所见的加速建立了正确的期望。

任何CPU与GPU的比较必须包括算法的完整描述和两种处理器类型之间的实现差异,并将观察到的相对性能与某种形式的性能模型进行比较,以便可信。