Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 未检测到支持CUDA的设备(使用ubuntu 12.04.4服务器)_Linux_Cuda - Fatal编程技术网

Linux 未检测到支持CUDA的设备(使用ubuntu 12.04.4服务器)

Linux 未检测到支持CUDA的设备(使用ubuntu 12.04.4服务器),linux,cuda,Linux,Cuda,我最近安装了cuda toolkit 5.5和驱动程序331.67(我有一个GeForce GTX 680)。由于某些原因,我无法运行任何测试脚本: $./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery ./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery Starting... CUDA Device Query (Runtime API) vers

我最近安装了cuda toolkit 5.5和驱动程序331.67(我有一个GeForce GTX 680)。由于某些原因,我无法运行任何测试脚本:

$./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery 
./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL
我遵循了“入门指南”中的步骤

并在启动时创建了一个脚本来创建字符设备文件(因为我运行的是Ubuntu服务器版,默认情况下不会创建这些图形文件):

执行命令的输出是(对于普通用户和根用户):

<英伟达模块

的一些信息
$ lsmod | grep nvidia
nvidia              11335080  0 
$ modinfo nvidia
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko
alias:          char-major-195-*
version:        331.67
supported:      external
license:        NVIDIA
...
...
有什么建议吗?谢谢

编辑#1 我试着降到驾驶员319.76:

$ modinfo nvidia
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko
alias:          char-major-195-*
version:        319.76
supported:      external
...
现在,当我运行nvidia smi-a时,我得到以下信息:

NVIDIA: API mismatch: the NVIDIA kernel module has version 304.116,
but this NVIDIA driver component has version 319.76.  Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
Failed to initialize NVML: Unknown Error
在安装驱动程序文件之前,我从repos安装了
nvidia当前更新
nvidia设置更新
软件包,我想这就是产生冲突的原因。我还没有找到解决办法,但我认为这是更进一步。以下是modprobe-l|grep nvidia的结果

kernel/drivers/video/nvidia/nvidiafb.ko
kernel/drivers/net/ethernet/nvidia/forcedeth.ko
updates/dkms/nvidia.ko
updates/dkms/nvidia_304_updates.k

<> P>因此,我遇到的主要错误是由于英伟达内核模块和驱动程序组件之间存在版本不匹配的事实。以下是我采取的帮助我找到解决方案的步骤

1) 降级驱动程序使我看到
nvidia smi-a
投诉驱动程序组件不匹配。我本来不确定这会是个问题。我只是按照CUDA工具包安装指南进行操作,但没有提到这是一个问题

2) 在从repos安装了内核模块之后,我只选择了版本正确的相应驱动程序组件。如果您不知道已安装内核模块的版本,可以使用modprobe和modinfo。例如,在我的系统上

$ modprobe -l | grep nvidia
kernel/drivers/video/nvidia/nvidiafb.ko
kernel/drivers/net/ethernet/nvidia/forcedeth.ko
updates/dkms/nvidia.ko
updates/dkms/nvidia_304_updates.ko
nvidia_304_更新模块是从repos安装的(当前nvidia更新包)。其确切版本可在modinfo中找到

$ modinfo /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko 
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko
alias:          char-major-195-*
version:        304.116
supported:      external

下载并安装相应的驱动程序组件,从英伟达网站的存档,

,我可以运行该命令

$ nvidia-smi -a

==============NVSMI LOG==============

Timestamp                       : Mon Apr 14 15:17:44 2014
Driver Version                  : 304.116

Attached GPUs                   : 1
GPU 0000:04:00.0
    Product Name                : GeForce GTX 680
...
...
还有我试图执行的原始脚本

$ ./deviceQuery 
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 680"
  CUDA Driver Version / Runtime Version          5.0 / 5.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2047 MBytes (2146762752 bytes)
  ( 8) Multiprocessors x (192) CUDA Cores/MP:    1536 CUDA Cores
  ...
  ...

以普通用户身份运行nvidia smi-a,然后以root用户身份运行,结果如何?请将结果粘贴到您的问题中,而不是注释中。nvidia smi-a的输出是什么?如果以root用户身份运行时,
nvidia smi-a
显示NVML错误,则驱动程序未正确加载,或找不到GPU。您可能需要重新启动系统,或重新加载驱动程序。您还应该检查
lspci | grep-i nvidia
的输出是否显示GPU(您的GTX 680)。我还将尝试删除启动脚本,重新启动服务器,然后以root用户身份运行
nvidia smi-a
。您可能在脚本中出错。lspci显示GPU。我尝试了你的建议(删除文件并重新启动),nvidia smi-a给出了与上面相同的输出。如果其他人遇到这个问题:简单的重新启动修复了我的问题XD@panmari:重启很有魅力谢谢:)我想这应该是一个答案,而不是评论。重启对我不起作用;然而,“sudo nvidia smi”起了作用。
$ nvidia-smi -a

==============NVSMI LOG==============

Timestamp                       : Mon Apr 14 15:17:44 2014
Driver Version                  : 304.116

Attached GPUs                   : 1
GPU 0000:04:00.0
    Product Name                : GeForce GTX 680
...
...
$ ./deviceQuery 
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 680"
  CUDA Driver Version / Runtime Version          5.0 / 5.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2047 MBytes (2146762752 bytes)
  ( 8) Multiprocessors x (192) CUDA Cores/MP:    1536 CUDA Cores
  ...
  ...