【发布时间】:2016-11-09 14:47:00
【问题描述】:
我正在使用 CUDA 开发计算流体动力学 (CFD) 代码。当我在单个 Tesla K40 GPU(与 Intel Xeon E5 v2 CPU 相比)上针对不同的问题大小进行一些加速测试时,GPU 通过增加问题大小显示出更高的加速。例如,对于约 100 万个元素,我获得了约 1.5 倍的加速,而对于 1000 万个元素,我获得了约 11 倍的加速。
我不知道理论上是什么导致更大问题的更高性能?实际上,这也是我在 GPU 上运行的许多科学(尤其是流体力学)应用程序中看到的情况。 (我想知道内核开销、延迟等是否会受到影响?)
感谢您的任何回答或评论!
PS:加速比是指GPU代码执行时间与CPU版本执行时间的比值。实际上,我在两个版本中都增加了问题的大小(当然,在每个比较测试中都应用了相同的问题大小)并重新计算了相应问题大小的加速比。
【问题讨论】:
-
相对于什么的加速?
-
正如我所提到的;与 CPU 相比的加速。
-
您应该提供更多详细信息。每个元素的速度如何?您获得相对性能提升是因为 GPU 在每个元素上变得更快(可能是由于隐藏延迟)还是因为 CPU 变得更慢(可能是缓存大小)。
标签: performance cuda gpu