您的位置:首页 > 产品设计 > UI/UE

CUDA issue:cudaGetDeviceCount()错误

2016-02-25 12:51 477 查看

CUDA issue:cudaGetDeviceCount()错误

160224

问题

cuda编程cudaGetDeviceCount()出问题。检测:运行cuda sample——deviceQuery,Fail,原因:no CUDA-capable device is detected。但是之前编译caffe(含cuda和cudnn),以及nvcc 编译自己编写的.cu程序都OK。(怪不得caffe这次安装了cudnn,运行mnist,还很慢)

常用命令

nvcc -V
:可以查看cuda版本

prime-select query
:可以查看正在运行的显卡

prime-selecr intel/nvidia
:可以切换工作的显卡

现在上面都运行正常的。

猜测推理

既然显卡运行正常,那么Nvidia显卡驱动应该是没有问题的。所以重新安装cuda。

先整理现在的软件和cuda有依赖的:

caffe-master,caffe-bsd;cuda安装在/usr/local/cuda-7.0(默认),有一个cuda的文件夹软链接。此外在/etc/ld.so.conf.d/中有个cuda.conf的文件含有/usr/local/cuda-7.0/lib64;在cuda-7.0中还有cudnn的include和lib文件。

猜测:cuda重新安装后,安装在原来的位置,那么include,库和bin都能够被需要cuda的文件找到,所以caffe-master,caffe-bsd应该可以不用重新编译。此外,cudaSamples也应该不用重新编译。

然而,运行nvidia-smi,出现NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.的错误,所以Nvidia驱动可能会出错。暂且先认为它工作正常。先重新安装cuda。

重装cuda7.0

卸载cuda:.run 文件安装的,在cuda-7.0/bin下有uninstall_cuda_7.0.pl,直接./运行

卸载后查看/proc/driver/nvidia,没有这个文件。

按照之前安装cuda的教程(.run)重新安装了cuda。

检验

cat /proc/driver/nvidia/version


NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63

nvcc -V


nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2015 NVIDIA Corporation

Built on Mon_Feb_16_22:59:02_CST_2015

Cuda compilation tools, release 7.0, V7.0.27

nvidia-smi


| NVIDIA-SMI 352.63 Driver Version: 352.63 |

| GPU Name Persistence-M| Memory-Usage | GPU-Util Compute M. |

| 0 GeForce GT 740M Off | 120MiB / 2047MiB | N/A Default |

| Processes: GPU Memory |

| GPU:0|

check
/dev/nvidia*


存在nvidia0

测试./deviceQuery,./bandwidthTest

(这之前先要ldconfig),运行cudaSamples(上次编译的)./deviceQuery,PASS;./bandwidthTest,PASS

prime-select query


查看:nvidia,切换到intel。./deviceQuery和./bandwidthTest仍成功。

运行caffe_mnist

(cudnn)运行成功,但是速度并没有很快。

(说明之前的猜测是对的,caffe-master,cudaSamples都不用重新编译。cuda只要头文件,库,bin即可)

处理依赖:

sudo ldconfig
——在/etc/ld.so.conf.d/中有个cuda.conf的文件含有/usr/local/cuda-7.0/lib64

重新解压cudnn到cuda的文件中,ldconfig

原因

cuda可能是更新,或者期间安装卸载其他软件软件的影响吧。具体原因未知。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: