Ubuntu16.04下cuda9.0+cudnn7.0安裝
隨著pytorch、tensorflow等一眾機器學習的框架不斷更新,對於計算機的軟硬體的要求越來越高。在tensorflow-gpu1.4版本以後, GPU加速必須在cuda9以上才可以完成加速。cuda9以後的版本在Linux系統上只支持Ubuntu16.04和Ubuntu17.04,這個就強迫你不僅僅是要安裝加速模塊, 甚至還要升級系統,本博客將對Ubuntu16.04上安裝cuda9.0+cudnn7.0做詳細說明。安裝cudnn及cudnn其他版本可按照此教程做相應更改。該教程在引用
Ubuntu16.04下cuda9.0+cudnn7.0安裝指南 | TwistedWs Home基礎上做了一些更改。
設備要求
系統:Ubuntu16.04及以上
顯卡:博主是一塊GTX 1080,只要你是以下類型的都可以
驅動:nvidia系列(384以上),顯卡驅動的版本必須大於等於cuda的sh文件名裡面的版本號
檢查安裝驅動
不要上來就去裝驅動,首先要檢測自己的驅動是不是符合要求的,打開終端,輸入
nvidia-smi
如果完全無反應的話,恭喜你!你需要重新安裝驅動了,如果有以下的顯示:
你需要好好看看自己的驅動型號了,cuda9.0必須要Nivdia 384及以上才可以正常安裝,我的驅動是387.12就符合要求,如果你的型號小於384那還是恭喜你, 依舊需要重裝驅動了。如果你的大於384,你就可以跳過此步,進行下面的操作了。
首先推薦安裝系統指定的附加驅動,省時省力,打開系統設置-軟體和更新-附件驅動,選擇你需要的驅動更改即可。命令行輸入
nvidia-smi
若出現上圖所示界面,說明驅動安裝成功。有小夥伴在附加驅動中發現沒有驅動備選或者想感受手動配置驅動的樂趣,OK,go ahead.
首先需要去官網上下載符合你GPU的驅動,按照你的型號,找到符合自己的驅動!
目前驅動已經有390以上的了,可以考慮!
接下來就是驅動的正式安裝。
a.打開終端,先刪除舊的驅動:
sudo apt-get purge nvidia*
b. 禁用自帶的 nouveau nvidia驅動
看下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
沒有輸出什麼東西,說明已經成功關閉了。
c.關閉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
如果有以下顯示:
恭喜你!驅動已經正常安裝了,可以進行下面操作了。
安裝cuda9.0
安裝cuda這裡總結兩種方法
1.下載deb文件安裝
首先在官網下載cuda9.0,下載對應的deb文件,截圖如下:
在對應的下載目錄下打開終端輸入以下命令:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub #執行完上一句指令後,末尾會有此指令的提示
sudo apt-get update
sudo apt-get install cuda
如果發現執行完所有命令行後驗證版本是CUDA10,這是因為CUDA自動升級最新版本了。重新運行命令並修改最一行命令為
sudo apt-get install cuda-9.0
即可安裝成功。
2.下載.run文件安裝
首先去官網下載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」
以上為兩種cuda的安裝方法,不過並沒有結束,安裝完畢後必須添加環境
gedit ~/.bashrc
把下面的內容添加到最後:
64位系統:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
32位系統:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
測試是否安裝成功
nvcc -V
如果你看到以下顯示,恭喜你cuda9.0你已經裝好了!
安裝cudnn7.0.5
註冊一個賬號,去官網上下載cudnn7.0.5。
選擇適配Linux的,也就是圖上的第四個!
下載完直接解壓,解壓會出現一個cuda文件夾,裡面有兩個文件include 和 lib64,把裡面的文件copy到/usr/local/cuda/裡面相應的目錄里:
sudo cp 解壓文件夾地址 /usr/local/cuda/include/
sudo cp 解壓文件夾地址 /usr/local/cuda/lib64/
如果你就在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
如果顯示如下,恭喜你安裝成功。
到目前為止,cuda9.0以及cudnn7.0就已經安裝完畢了,可以正常使用了,如果你按照上面步驟一步步下來的話,我想肯定是沒多大問題的。最後, 我們再說下如何卸載。
卸載CUDA以及CUDNN
(1)卸載CUDA
sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
(2)卸載CUDNN
刪除原來的cudnn文件:
sudo rm -rf /usr/local/cuda-9.0/lib64/libcudnn*
sudo rm -rf /usr/local/cuda-9.0/include/cudnn.h
推薦閱讀: