未检测到支持 CUDA 的设备

Posted

技术标签:

【中文标题】未检测到支持 CUDA 的设备【英文标题】:No CUDA-capable device is detected 【发布时间】:2012-10-31 06:06:05 【问题描述】:

我是 CUDA 编程的新手,我完全被卡住了。当我尝试运行提供的 deviceQuery 实用程序或示例应用程序之一时,我收到以下错误:

cudaGetDeviceCount returned 38
no CUDA-capable device is detected.

我使用的是 64 位的 Windows 7。我安装了 Visual Studio 2012,然后安装了 CUDA 5.0 64 位。我的显卡是 NVIDIA GeForce GTS 250。今天我去 NVIDIA 网站重新安装了显卡的最新驱动程序。

除了“确保您安装了有效的驱动程序”之外,我在 Windows 中找不到任何对此错误的支持。有谁知道可能出了什么问题?

【问题讨论】:

你的系统中除了GTS 250还有其他显卡吗?如果是这样,请提供您的设置的完整描述。您是通过 RDP 远程连接到此系统,还是通过连接到系统的本地键盘和显示器在系统上工作? 除了主板上的集成显卡,我的系统中没有其他显卡。我使用 GeForce GTS 250 作为我的显示适配器。我正在远程连接到系统(这是一台工作计算机,我周末在家)。我还没有在本地键盘/显示器上尝试过 deviceQuery - 这可能是问题吗? 是that is the problem. 谢谢,这结束了在谷歌上搜索此错误代码的挫败感。我将改为通过 RDP 处理其他项目。 这个问题在我看来应该重开,因为它与编程工作直接相关。 【参考方案1】:

在 cmets 中讨论的问题是您试图在通过 RDP 连接的计算机上运行 CUDA 会话。这不适用于 WDDM 设备。请参阅this question/answer 以了解有关它的更多讨论以及可能的解决方法的建议。不幸的是,由于您使用的是 GeForce 设备,因此 TCC 模式不适合您,但如果您可以切换到 VNC 或其他一些远程处理方法,您可能会得到很好的结果。

编辑:

请注意,使用一些我无法解释的魔法,NVIDIA 最近推出了新的 Windows GPU 驱动程序,它可能(应该)解决上述限制。现在,即使在 RDP 会话中也可以使用最新的 NVIDIA 驱动程序为您的 GPU 启用 GPU 的使用。此功能仅适用于具有最新驱动程序支持的最新 CUDA GPU(即 353.xx 或更高版本、r352 和更高版本)。所以应该支持 cc2.0 GPU,但对 cc1.x GPU 的驱动程序支持在前一段时间就结束了,所以这些旧的 GPU 将无法利用此功能。

【讨论】:

以上是关于未检测到支持 CUDA 的设备的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 未检测到 CUDA 设备

CUDA - 来自设备的 int 在将其复制到主机时未更新

无法在 GeForce 540M 上运行 CUDA 或 OpenCL

如何将结构传递到 CUDA 设备?

Flutter-未检测到连接的设备

AVAudioSession 未检测到连接的蓝牙设备