一、宿主機安裝nvidia驅動
打開終端,先刪除舊的驅動:
sudo apt-get purge nvidia*
禁用自帶的 nouveau nvidia驅動
sudo gedit /etc/modprobe.d/blacklist.conf
看下Nouveau是否已經被禁用
lsmod | grep nouveau
如果已經沒有任何顯示說明不用禁用了,否則繼續下面操作
sudo vim /etc/modprobe.d/blacklist-nouveau.conf #創建一個文件(注:按一下i鍵,表示現在進行內容插入)
並添加如下內容:
blacklist nouveau
options nouveau modeset=0
注:退出可用兩個命令中任意一個:
按完esc鍵后,按shift+zz 或者
按完esc鍵后,輸入“:wq!”雙引號里面的內容
再更新一下:
sudo update-initramfs –u
確認下Nouveau是已經被禁用:
lsmod | grep nouveau
沒有輸出什么東西,說明已經成功關閉了。
關閉X-window服務:
Ctrl+Alt+F1切換到無桌面命令終端:這里lightdm是你自己的顯示管理器,也可能是gdm,kdm,到底是哪一個可以使用 cat /etc/X11/default-display-manager進行查看,然后修改,並關閉顯示管理器。這里下面幾小步建議用手機拍照,對着照片來做,因為你可能不太熟悉
sudo service lightdm stop
此時正式進入終端界面:
Login:用戶賬號
Password:用戶密碼
安裝:
cd /home/wlh/tmp # 導到你的下載的驅動放在哪里的地址
sudo sh NVIDIA-Linux-x86_64-387.12.run
按照如下步驟安裝:
(1)accept
(2)contiuned install
后面默認yes安裝就好了
啟動顯示器:(lightdm只是我的顯示管理器,你可能是前面的說的gdm)
sudo service lightdm start
然后按Ctrl+Alt+F7 進入到桌面進行操作
檢查是否成功
nvidia-smi
二、docker安裝
下載地址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
containerd.io_1.2.5-1_amd64.deb
docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb
docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb
dpkg -i containerd.io_1.2.5-1_amd64.deb
dpkg -i docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb
dpkg -i docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb
使用 docker 命令試試安裝成功沒有。
建立 docker 組:
$ sudo groupadd docker
將當前用戶加入 docker 組:
$ sudo usermod -aG docker $USER
三、nvidia docker安裝
If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker
Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update
執行下載5個命令,下載5個包到當前目錄,拷貝這些包到服務器上。
apt download libnvidia-container1
apt download libnvidia-container-tools
apt download nvidia-container-runtime-hook
apt download nvidia-container-runtime
apt download nvidia-docker2
在服務器上執行,dpkg -i libnvidia nvidia 即可一次安裝這5個包。
Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
四、安裝cuda9.0
首先去官網下載cuda9.0, 下載那個1.6G的.run文件,下載完畢就可以正式安裝了。
進入下載目錄,給文件添加運行權限:
chmod +x ./cuda_9.0.176_384.81_linux.run
運行安裝
sudo ./cuda_9.0.176_384.81_linux.run
啟動安裝程序,一直按空格到最后(可以選擇Ctrl+c跳過),不用擔心,到99%的時候,輸入accept接受條款
注意:第一個提醒你是否安裝驅動時,選“n”,其余都“y”
安裝完畢后就需要添加環境了,這步很重要!!!
gedit ~/.bashrc
把下面的內容添加到最后:
export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
測試是否安裝成功
nvcc -V
五、安裝cudnn7
下載完直接解壓,解壓會出現一個cuda文件夾,里面有兩個文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相應的目錄里。 如果你就在local下解壓的就不要移動了。只需要給文件加讀權限即可!
sudo chmod a+x /usr/local/cuda/include/cudnn.h sudo chmod a+x /usr/local/cuda/lib64/libcudnn*
然后更新網絡連接:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.5 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.0.5. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
查看cudnn版本,檢查是否安裝好:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
六、加載打包的鏡像
$ docker load<jq_tensorflow1.8-cuda9.0-cudnn7-devel-ubuntu16.04.tar
七、啟動容器
docker run --runtime=nvidia -it -v /home/dock/Downloads:/usr/Downloads name /bin/bash
啟動報錯解決辦法:
Systemd drop-in file sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime EOF sudo systemctl daemon-reload sudo systemctl restart docker Daemon configuration file sudo tee /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF sudo pkill -SIGHUP dockerd 再去開啟鏡像,done。