hans

hans

【Linux】【Docker】CentOS6.9主机,Ubuntu14.04的Docker容器安装CUDA报错


CUDA: 8.0

CUDNN: 5.1

NVIDIA: 375.66

这个问题真是,RLGL....

感觉还是因为服务器造成的问题.

花了点时间才解决掉.

先是 ./deviceQuery

遇到问题:

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

modprobe: FATAL: Module nvidia-uvm not found.

cudaGetDeviceCount returned 30

-> unknown error

Result = FAIL 

解决方法一:#

先试试这个方法,不管用再试方法二

已经编译安装好 nvidia-uvm, 只是没找对

sudo modinfo nvdia
sudo modinfo nvidia-uvm

还是提示找不到 nvidia-uvm

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

显示:

  Selection    Path                                       Priority   Status
------------------------------------------------------------
* 0            /usr/lib/nvidia-375/ld.so.conf              8604      auto mode
  1            /usr/lib/nvidia-375-prime/ld.so.conf        8603      manual mode
  2            /usr/lib/nvidia-375/ld.so.conf              8604      manual mode
  3            /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf   500       manual mode

会让你输入一个数字,如果星星在 3 前面,那就输入 0,1,2 都可以解决问题.

如果问题没解决,或者没有类似 0,1,2 的选项。看方法二.

方法一参考自: https://devtalk.nvidia.com/default/topic/760872/cuda-setup-and-installation/ubuntu-12-04-error-cudagetdevicecount-returned-30/

http://blog.csdn.net/ddqqfree123/article/details/52388337

解决方法二:#

因为是在服务器 centos6.9 系统上运行 daocker 中 ubuntu14.04 系统.. 哈哈.. 有点绕..

我看了一下,ubuntu 的系统内核跟 centos6.9 走的,我刚把 centos6.9 内核升级到了 3.10.107

但是 ubuntu 系统内并没有 3.10.107 内核的头文件啊什么的,所以也就没有 nvidia-uvm

下面开始处理这些问题

先检查几个文件夹内容,如果发现 ubuntu 没有相关内核的文件夹,就从 centos 主机中拷贝过来

如果你是 Centos 系统可以直接运行:

sudo yum install -y kernel-devel kernel-headers

几个主要文件夹路径是:

/var/lib/dkms/nvidia/original_module
/var/lib/dkms/nvidia/kernel-3.10.107-1.el6.elrepo.x86_64-x86_64  这个目录是软链接的下面目录
/var/lib/dkms/nvidia/375.66/3.10.107-1.el6.elrepo.x86_64

/lib/modules/3.10.107-1.el6.elrepo.x86_64
/lib/modules/3.10.107-1.el6.elrepo.x86_64/build 删除这个目录并软链接的下面目录
/usr/src/kernels/3.10.107-1.el6.elrepo.x86_64/

上面这些目录,哪个没有,就从 centos 主机中拷贝过来!!

docker 拷贝命令:

sudo docker cp FILENAME CONTAINER-ID:/PATH/

开始编译安装 nvidia-uvm:

sudo dkms status

我的显示:

nvidia-375, 375.66: added

所以接着运行:

sudo dkms build -m nvdia-375 -v 375.66
sudo dkms install -m nvdia-375 -v 375.66

然后就可以重启了

sudo modinfo nvdia
sudo modinfo nvidia-uvm

试一下./deviceQuery

PASS!

方法二参考自: http://blog.csdn.net/yijuan_hw/article/details/53439408

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.