Ubuntu 16.04下配置GPU版CUDA和cuDNN
先介紹一下我自己的配置環境
Ubuntu 16.04
Intel i7 CPU
16G記憶體
GTX980Ti 顯示卡
1、安裝NVIDIA顯示卡驅動
(1)先在NVIDIA官網上下載對應的驅動程式,可根據自己的GPU的型號下載相應的.run檔案
例如NVIDIA-Linux-x86_64-3xx.xx.run形式的檔名
自己電腦的GPU型號查詢可在終端輸入:
nvidia-smi
查詢。大概在中間位置。也可以輸入:
nvidia-settings
(2)禁用開源nouveau驅動(非常重要)
a.如果沒有裝vim,則先裝vim編輯器(當然用gedit也可以,在下面也會介紹到)
安裝vim,在終端輸入
sudo apt-get update
sudo apt-get install vim
接下來 編輯檔案/etc/modprobe.d/disable-nouveau.conf
aa.使用vim(關於vim編輯器的使用,百度上有很多),在終端輸入
sudo vim /etc/modprobe.d/disable-nouveau.conf
然後按鍵盤上的字母 i 進入編輯模式,並在最後新增下面兩行
blacklist nouveau
options nouveau modeset = 0
按Esc鍵退出編輯模式,再輸入下面的命令,回車,儲存退出。
:wq
然後輸入
sudo ldconfig
再執行下面的命令,使配置生效。
sudo update-initramfs -u
bb.使用gedit,在終端輸入:
sudo gedit /etc/modprobe.d/disable-nouveau.conf
然後同樣在末尾加上那兩句,然後滑鼠點save儲存,後續步驟則跟用vim一樣
驗證是否成功禁用nouveau
關掉終端,重新開啟,然後輸入命令:
sudo lspci | grep nouveau
如果沒有內容顯示,則禁用成功。
b.配置kernel以text模式啟動
sudo vim /etc/default/grub
編輯檔案/etc/default/grub,修改下面兩句(操作方法同步驟a,建議用gedit)sudo gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
將上面兩句修改為:
GRUB_CMDLINE_LINUX_DEFAULT="quietsplash text"
GRUB_CMDLINE_LINUX="rdblacklist=nouveaunouveau.modeset=0"
儲存退出,並更新。
sudo update-grub
c.重啟電腦,在登入介面直接按Ctrl+Alt+F1進入控制檯
輸入使用者名稱和密碼登陸後,執行:
sudo service lightdm stop
關閉圖形介面(切記,否則英偉達顯示卡驅動會安裝失敗),然後cd命令切換到英偉達顯示卡驅動安裝檔案NVIDIA-Linux-x86_64-3xx.xx.run所在的目錄,執行:
sudo sh NVIDIA-Linux-x86_64-3xx.xx.run
輸入以下命令,重啟圖形介面
sudo service lightdm start
d.結束後再次修改grub檔案
將前面修改的第一行改回原來的。第二行可不修改。本人改完是這樣的:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="rdblacklist=nouveaunouveau.modeset=0"
儲存退出後,再次更新
sudo update-grub
2、安裝CUDA以及cuDNN
(1)先在官網上下載對應的CUDA安裝檔案,建議選擇run安裝,點這裡
自己根據實際情況選擇相應的檔案。
下載完成後,開啟終端切換到安裝檔案所在的目錄,執行:
sudo sh cuda_8.0.61_375.26_linux.run
這裡會出現More(0%),意思是你要閱讀這些協議,連續按空格鍵可跳過,按照提示輸入accept,第一個安裝的時候,是安裝圖形驅動的,由於前面已經安裝了NVIDIA驅動,所以選擇no,後面全選yes,建議選擇預設安裝路徑。
(2)環境變數配置
sudo gedit ~./bashrc
將以下內容寫到檔案尾部。
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
儲存後,更新檔案
source ~/.bashrc
(3)配置cuDNN
首先在官網上(https://developer.nvidia.com/cuda-downloads)下載CUDA:
下載cuDNN5.1之後切換到下載目錄進行解壓:
sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz
進入cuDNN5.1解壓之後的include目錄,在命令列進行如下操作:
cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include #複製標頭檔案
再將進入lib64目錄下的動態檔案進行復制和連結:
cd ..
cd lib64
sudo cp lib* /usr/local/cuda/lib64/ #複製動態連結庫
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #刪除原有動態檔案
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成軟銜接
sudo ln -s libcudnn.so.5 libcudnn.so #生成軟連結
sudo ldconfig #使配置生效
(4)測試CUDA的samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
如果顯示一些關於GPU的資訊,怎說明安裝成功。
可通過
nvcc --version
檢視CUDA版本。