CUDA驱动程序初始化失败。

5
我有一个双GPU系统,一个是GeForce 8400 GS,另一个是GeForce GT 520。我可以在两个GPU上运行我的CUDA程序。但是当我使用cuda-gdb进行调试时,会出现错误提示“Cuda驱动程序初始化失败”。同时,当我用cuda-gdb运行程序时,cudaGetDeviceCount函数只显示我有1个GPU。如果不使用cuda-gdb,我可以在任意一个GPU上运行程序。有人能帮我解决这个问题吗?
我使用的是Ubuntu 11.04操作系统。
1个回答

8
  1. 看起来你的显示驱动程序版本比CUDA工具包要求的版本旧。请确保安装了从与您的工具包相同的下载页面下载的显示驱动程序。
  2. cuda-gdb将隐藏用于运行桌面环境的GPU,以便调试的应用程序。否则,在应用程序在断点上挂起时,桌面环境可能会挂起。要在cuda-gdb中查看两个GPU,您需要在没有桌面环境的情况下运行。

我尝试重新安装驱动程序,但仍然无法解决问题。还有其他解决方法吗? - catchmrbharath
@user601928,我已经与我们的调试团队进行了双重确认,他们确认除了驱动程序工具包版本不匹配之外,没有其他理论。请随时通过cudatools@nvidia.com与我们联系,以便我们帮助您排除系统故障。您正在运行什么操作系统(假设是Linux,发行版和版本),它是32位还是64位系统?您使用的工具包版本是多少?提前致谢。 - Eugene
我看到一个帖子说它可以在root下运行。所以我进入了root并运行了cuda-gdb。我收到了一个错误,说“Cuda ELF图像包含未知的ABI版本:5”。我正在运行Ubuntu 11.04。这是一个32位系统。我的cuda_toolkit版本是4.2.9。谢谢你在这里帮助我。 - catchmrbharath
1
@catchmrbharath,ABI版本消息可能意味着您的应用程序使用了由新驱动程序JIT编译的PTX代码。您需要使用更新的工具包来调试使用新驱动程序构建的应用程序。 - Eugene
谢谢。我之前使用的是Nvidia图形驱动程序而不是开发版驱动程序,而且Nvidia图形驱动程序的版本更高。 - catchmrbharath

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