【发布时间】:2013-11-25 12:03:16
【问题描述】:
当我在 Windows 7(相对于 Linux)中运行 CUDA 应用程序时,我注意到性能受到很大影响。我想我可能知道减速发生在哪里:无论出于何种原因,Windows Nvidia 驱动程序(版本 331.65)在通过运行时 API 调用时都不会立即调度 CUDA 内核。 为了说明问题,我分析了 mergeSort 应用程序(来自 CUDA 5.5 附带的示例)。
首先考虑在 Linux 中运行时的内核启动时间:
接下来,考虑在 Windows 中运行时的启动时间:
post 表明该问题可能与批处理内核启动的 Windows 驱动程序有关。无论如何我可以禁用此批处理吗?
我使用 GTX 690 GPU、Windows 7 和 Nvidia 驱动程序的 331.65 版运行。
【问题讨论】:
-
通常情况下,第一次在 Windows 中启动内核可能会比第二次/第三次启动它花费更多的时间。