【问题标题】:How can I override the CUDA kernel execution time limit on Windows with a secondary GPUs?如何使用辅助 GPU 覆盖 Windows 上的 CUDA 内核执行时间限制?
【发布时间】:2016-12-16 23:31:02
【问题描述】:

来自 Nvidia 的网站,它解释了超时问题:

问:最长内核执行时间是多少?在 Windows 上,个人 GPU 程序启动的最大运行时间约为 5 秒。 超过此时间限制通常会导致报告启动失败 通过 CUDA 驱动程序或 CUDA 运行时,但在某些情况下可以 挂起整个机器,需要硬重置。这是由 Windows“看门狗”计时器导致程序使用主 如果图形适配器运行时间超过最大值,则图形适配器超时 允许的时间。

因此,建议在 GPU 上运行 CUDA 未连接到显示器且没有 Windows 桌面 延伸到它上面。在这种情况下,系统必须至少包含一个 用作主要图形适配器的 NVIDIA GPU。

来源:https://developer.nvidia.com/cuda-faq

看来,nvidia 相信,或者至少强烈暗示,拥有多 (nvidia) gpus 并且配置适当,可以防止这种情况发生?

但是怎么做呢?到目前为止,我尝试了很多方法,但 GK110 GPU 上仍然存在令人讨厌的超时问题:(1)插入辅助 PCIE 16X 插槽; (2) 没有连接到任何显示器 (3) 在驱动控制面板中设置为专用的 physX 卡(根据其他一些人的建议),但阻塞仍然存在。

【问题讨论】:

  • 我在使用 3-D 线程块时遇到了类似的问题(在 GK110 上)。我将其更改为二维线程块并多次调用内核。它工作得很好。你能把你的内核贴在这里吗?
  • 这里有完全相同的问题。修改了注册表超时,但我仍然得到它。你有没有设法得到这个排序?

标签: windows cuda timeout gpgpu multi-gpu


【解决方案1】:

如果您的 GK110 是 Tesla K20c GPU,那么您应该将设备从 wddm 模式切换到 TCC 模式。这可以使用随驱动程序一起安装的 nvidia-smi.exe 工具来完成。使用 Windows 搜索功能查找此文件 (nvidia-smi.exe),然后使用命令行帮助 (`nvidia-smi --help) 查找将 GPU 从 WDDM 模式切换到 TCC 模式所需的命令。

完成此操作后,Windows 看门狗机制将不再关注您的 GK110 设备。

另一方面,如果它是 GeForce GPU,则无法将其切换到 TCC 模式。您唯一的选择是修改注册表设置,这有点困难。您的里程可能会有所不同,因为 reg 密钥的确切结构因操作系统而异。

如果 GPU 处于 WDDM 模式,则它受看门狗定时器的约束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2011-09-25
    • 2021-03-01
    • 1970-01-01
    • 2011-08-29
    • 2013-04-07
    相关资源
    最近更新 更多