![有没有办法使用 CUDA 设备作为辅助适配器来运行 CUDA 应用程序?](https://linux22.com/image/1258654/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E4%BD%BF%E7%94%A8%20CUDA%20%E8%AE%BE%E5%A4%87%E4%BD%9C%E4%B8%BA%E8%BE%85%E5%8A%A9%E9%80%82%E9%85%8D%E5%99%A8%E6%9D%A5%E8%BF%90%E8%A1%8C%20CUDA%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我一直在尝试在安装了 Windows 7 的远程计算机上运行 CUDA 程序。GPU 是 GeForce GTX 480。我遇到的一个问题是,计算机有两个适配器,
1) 标准 VGA 适配器
2) NVIDIA GeForce GTX 480
尽管这显示在设备管理器中。桌面使用标准 VGA 适配器。我假设这是因为标准 VGA 是主适配器。设备管理器还显示显示器已连接到标准 VGA 适配器。在这种情况下,如果我尝试运行任何 CUDA 应用程序,它都无法识别支持 CUDA 的设备。
NVIDIA 适配器是否必须作为主适配器?或者当显卡作为辅助适配器时,是否有任何方法可以使用 CUDA。我之前在 NVIDIA 论坛上看到过一些关于此问题的帖子,其中一篇建议使用另一张低成本的 NVIDIA 卡作为主适配器,但目前这不是一个选择。我找不到任何其他解决方案。
谢谢
我尝试从 NVIDIA GPU 计算示例运行 deviceQuery 测试。这是我得到的结果
CUDA Device Query (Runtime API) version (CUDART static linking) cudaGetDeviceCount FAILED CUDA Driver and Runtime version may be mismatched FAILED
我使用的驱动程序版本是 263.06。CUDA 版本是 3.2
我在装有 Windows 7 和 GeForce GTX 465 的台式机上运行了同样的测试。CUDA 工具包版本为 3.2。驱动程序版本相同,测试通过,但使用较旧的驱动程序时测试失败。
答案1
检查您的 BIOS,您通常可以配置应该用作主视频适配器的东西,我怀疑它配置错误 - 它应该设置为使用 PCIe-16,而不是板载。
您可能会发现更改此配置选项将完全隐藏操作系统中的板载适配器(例如,在我的计算机上确实如此)。
答案2
它不应该是主适配器。这可能是您尝试获取设备的方式...我会尝试在相关 PC 上安装 cuda 的开发工具,并使用枚举实用程序,如果失败则发布输出。
另请注意,尽管显卡具有 CUDA 功能,但在某些驱动程序中 CUDA 功能被禁用。
看起来 gtx480 可能不受 260 inf 的开箱支持。与您的问题类似的问题的讨论如下:http://lunatics.kwsn.net/12-gpu-crunching/split-powerspectrum-unit-test.msg33737.html;topicseen
在此讨论中,至少有一位用户将 gtx480 作为非显示适配器运行并使用它进行 cuda 处理:
@Ghost:到目前为止我确实得到了以下信息: - 对 inf 文件进行了适当的修改,并成功安装了 263.06 TCC 驱动程序(在 480 上) - 禁用该设备作为“正常”显示器(而是使用主板显示器) - 合并了禁用 WPF 加速的 nSight 注册表项(出于安全考虑,如果没有活动显示则没有必要) 下一步应该是将设备驱动程序模式切换到 TCC 模式。这可以通过以下命令完成: nvidia-smi --驱动程序模型= 但我收到了这样的回复:
最终一些用户成功使用了 laptopvideo2go 修补的 inf。
希望这能有所帮助。我确信这是因为你加载的驱动程序显示你的卡不支持 cuda,但实际上它确实支持。
答案3
显示器插在上面了吗?我知道对于 ATI 来说,你必须在每张显卡上都插上一个显示器才能使用它们。