CUDA运行时API错误38:未检测到具有CUDA功能的设备

情况

我有一个2 gpu服务器(Ubuntu 12.04),我用GTX 670切换了特斯拉C1060.比我安装的CUDA 5.0超过了4.2.之后我编译了所有示例execpt for simpleMPI,没有错误.但是当我运行./devicequery我得到以下错误信息:

foo@bar-serv2:~/NVIDIA_CUDA-5.0_Samples/bin/linux/release$./deviceQuery
./deviceQuery Starting...

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

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected

我试过了

为了解决这个问题,我尝试了CUDA-capable device推荐的所有想法,但是没有效果:

> / dev / nvidia *的权限是666(crw-rw-rw-)和所有者root:root

 foo@bar-serv2:/dev$ls -l nvidia*
 crw-rw-rw- 1 root root 195,   0 Oct 24 18:51 nvidia0
 crw-rw-rw- 1 root root 195,   1 Oct 24 18:51 nvidia1
 crw-rw-rw- 1 root root 195, 255 Oct 24 18:50 nvidiactl

>我试着用sudo执行代码
> CUDA 5.0同时安装驱动程序和库

PS这里是lspci | grep -i nvidia:

foo@bar-serv2:/dev$lspci | grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 670] (rev a1)
03:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
04:00.0 VGA compatible controller: NVIDIA Corporation G94 [Quadro FX 1800] (rev a1)

[更新]

foo@bar-serv2:~/NVIDIA_CUDA-5.0_Samples/bin/linux/release$ nvidia-smi -a
NVIDIA: API mismatch: the NVIDIA kernel module has version 295.59,
but this NVIDIA driver component has version 304.54.  Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
Failed to initialize NVML: Unknown Error

如果我使用CUDA 5.0安装程序同时安装驱动程序和库,那怎么可能呢?旧版本的4.2版本,还是躺在乱七八糟的事情?

最佳答案
我遇到这个问题,跑步

nvidia-smi

告知我API不匹配.问题是我的Linux发行版已经安装了需要系统重新启动的更新,因此重新启动解决了这个问题.

转载注明原文:CUDA运行时API错误38:未检测到具有CUDA功能的设备 - 代码日志