在Windows 7上使用Open MPI和CUDA

4
我正在尝试在 Windows 7 Professional 64 位机器上使用 Open MPI v1.6.1(64 位)运行一个简单的 CUDA 程序,该程序查询节点中 GPU 的数量。当我在 root 节点上运行应用程序时,GPU 数量是正确的。但是,当尝试在不同的节点上远程运行相同的应用程序时,GPU 数量显示为 0,即节点中没有 CUDA 可能的 GPU。
根节点和节点都有 CUDA 2.1 兼容的 GPU。当正常的 MPI 应用程序在运行时,它是正常工作的。
是否需要特殊设置才能在 Windows 7 上使用 Open MPI v1.6.1 运行 CUDA 应用程序?

你能在远程桌面访问下运行任何CUDA应用程序(即使来自SDK)吗?据我所记,Windows的远程桌面提供虚拟GPU,通常情况下无法远程访问您的真实GPU。 - lashgar
不,Windows不允许CUDA应用程序在远程桌面上运行。但是我们可以通过VNC运行该应用程序。 - Sijo
1个回答

9
在Windows系统中,显示GPU需要使用Microsoft的WDDM驱动模型。当在Windows机器上运行远程任务(例如通过RDP或MPI)时,您正在运行一个受限制的会话,该会话具有虚拟显示驱动程序,因此无法访问WDDM设备,因此没有GPU(即没有CUDA GPU)。
NVIDIA的TCC驱动模型将GPU从WDDM环境中取出,并使其出现为非显示设备,这意味着它可通过RDP和MPI进行CUDA工作。当然,这也使其无法用于显示。
TCC支持所有Tesla和部分Quadro设备。

3
对于有这个问题的GeForce Windows用户来说,最简单的解决方案是使用一堆包含活动Linux发行版的DVD或USB存储设备。 - talonmies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接