内核在Multicores上运行速度很快但在GPU上相对较慢

时间:2011-12-15 17:54:00

标签: cuda multicore gpu gpgpu

有人会建议算法列表,其中Multicores与GPU相比具有更高的性能吗?我知道混合方法仍然会更快,但我真正想要的是了解GPU仍然落后于多核的领域。

2 个答案:

答案 0 :(得分:3)

从最不适合的适合性到最适合的顺序:

  • GPU只能加速SIMD类型的工作负载,因此它们不适合任务并行操作(如make -jN)。
  • 与CPU相比,GPU没有太多缓存,其原子操作相对较慢;所以它们远不如使用基于指针的结构(如树)的CPU那么好。
  • 图像处理或计算机视觉等工作负载处于灰色区域,其中GPU优势(纹理映射硬件,更多核心)可能被CPU优势(更好的SIMD整数支持,更高的时钟速率)抵消。如果实际处理是以浮点形式完成的,那么它可能是GPU的一个洗牌或轻微优势;如果处理是以整数形式完成的,并且可以映射到SSE2指令,那么CPU将会破坏GPU。

GPU在使用大量单精度浮点的数据并行工作负载方面表现优异。

任何卸载到GPU的工作负载也会产生数据传输成本。

答案 1 :(得分:0)

英特尔的一些人做了一些研究,他们比较了现代多核CPU和GPU的科学计算。也许你觉得有趣。第5页的图1显示了结果。

Lee等人,“揭穿100X GPU与CPU神话:对CPU和GPU吞吐量计算的评估”: http://www.hwsw.hu/kepek/hirek/2010/06/p451-lee.pdf