1. 程式人生 > >Ubuntu 16.04下配置GPU版CUDA和cuDNN

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版本。