我收到“运行时API错误:无效的设备序号。”当我使用GTX 590在Ubuntu 10.04上运行cuda代码时

时间:2012-10-30 08:50:21

标签: linux ubuntu cuda nvidia

我正在尝试使用GeForce GTX 590在Ubuntu 10.04系统上运行cuda应用程序。
我正在使用295.41驱动程序。我已经使用此代码设置了3个其他系统,并且都已完成。其中两个有GT 640s,一个有GTX 480(或460 - 我不记得了)。我之前用相同的硬件在这台机器上运行了cuda代码,但它已被格式化。

运行代码时以及运行SDK示例时,我收到了无效的设备序号错误。我用gentoo设置了这台机器并得到了这个错误 - 我认为它可能与操作系统有关,所以我安装了ubuntu并遇到了同样的问题。我想不出还有什么可以尝试的。有没有人有任何建议?

下面是一些可能很方便的输出。

  

user @ pchan1:〜$ lspci | grep nVidia
  02:00.0 PCI桥:nVidia Corporation设备05b1(rev a3)
  03:00.0 PCI桥:nVidia Corporation设备05b1(rev a3)
  03:02.0 PCI桥:nVidia Corporation设备05b1(rev a3)
  06:00.0 PCI桥:nVidia Corporation设备05b9(rev a3)
  07:00.0 PCI桥:nVidia Corporation设备05b9(rev a3)
  07:02.0 PCI桥:nVidia Corporation设备05b9(rev a3)
  08:00.0 3D控制器:nVidia Corporation设备1088(rev a1)
  08:00.1音频设备:nVidia Corporation设备0e09(rev a1)
  09:00.0 VGA兼容控制器:nVidia Corporation Device 1088(rev a1)
  09:00.1音频设备:nVidia Corporation设备0e09(rev a1)

     

user @ pchan1:〜$ ls -l / dev / nvidia *
  crw-rw-rw- 1 root root 195,0 2012-10-30 10:22 / dev / nvidia0
  crw-rw-rw- 1 root root 195,1 2012-10-30 10:22 / dev / nvidia1
  crw-rw-rw- 1 root root 195,255 2012-10-30 10:22 / dev / nvidiactl

编辑:当我使用此系统时,我使用的是64位操作系统和64位驱动程序。我现在使用32位操作系统和32位驱动程序。

另一个编辑:

非常感谢Przemyslaw Zych。你帮我解决了这个问题。 我不得不通过以下方式将Nouveau列入黑名单。 在/etc/modprobe.d中添加一个名为blacklist-nouveau.conf的文件(只有.conf结尾很重要)并在该文件中添加以下两行。
黑名单nouveau
options nouveau modeset = 0
按照以下指南的说明进行 ftp://download.nvidia.com/XFree86/Linux-x86_64/256.44/README/commonproblems.html

问题解决了:))

1 个答案:

答案 0 :(得分:2)

正如Przemyslaw Zych所说,还有另一个使用GPU的驱动程序(在这种情况下是nouveau)。
要使用nvidia驱动程序,必须禁用nouveau。此处列出了此过程 - ftp://download.nvidia.com/XFree86/Linux-x86_64/256.44/README/commonproblems.html - 我将在下面对其进行总结。

在/etc/modprobe.d中创建一个名为blacklist-nouveau.conf的文件 添加以下两行:
黑名单nouveau
options nouveau modeset = 0
然后重启电脑。这样可以防止nouveau加载并允许使用nvidia驱动程序。