【发布时间】:2012-06-01 16:35:50
【问题描述】:
我最近从 GTX480 升级到了 GTX680,希望增加三倍的内核数量会在我的 CUDA 代码中体现出显着的性能提升。令我惊恐的是,我发现我的内存密集型 CUDA 内核在 GTX680 上运行速度要慢 30%-50%。
我意识到这不是一个严格的编程问题,但它确实直接影响不同设备上 CUDA 内核的性能。谁能提供一些关于 CUDA 设备的规格以及如何使用它们来推断其在 CUDA C 内核上的性能的见解?
【问题讨论】:
-
为了获得最佳性能,您确实需要针对不同的 GPU 配置调整代码。
-
从 Wikipedia 告诉我的情况来看,680 的内存 BW 并不比 480 高多少。因此,如果您受内存限制,则不会看到太多加速。不过,我无法解释为什么您会看到速度放缓。
-
你用的是那个版本的CUDA工具包?
-
我部署了最新版本:4.2.9
-
这段代码使用了什么样的操作?主要是整数或浮点数,如果是后者,是单精度还是双精度?