hans

hans

【Linux】【Docker】在CentOS6.9主機上,安裝CUDA時在Ubuntu14.04的Docker容器中出現錯誤。


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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。