參考文章:https://docs.nvidia.com/cuda/archive/9.0/
參考文章:https://blog.csdn.net/QLULIBIN/article/details/78714596
-
前言
安裝之前翻了好多博客,大都是先安裝NVIDIA顯卡驅(qū)動埃仪,然后是用run文件安裝cuda栗竖,最后安裝cudnn寸爆。自己采用這種方式安裝期間岳颇,禁用了nouveau第三方驅(qū)動烤黍。這可能是導(dǎo)致安裝完之后不能擴展顯示屏的原因魂爪。所以自己重裝了系統(tǒng)蝌数,采用deb文件安裝cuda,在安裝cuda期間自動安裝了顯卡驅(qū)動贷祈。啊啊啊啊啊趋急,真的是比采用run文件安裝簡單了太多太多!势誊,而且也可以使用擴展顯示屏了呜达! -
一、安裝ubuntu系統(tǒng)時的一些小問題
如果您在安裝ubuntu16.04的過程中沒有出現(xiàn)此問題粟耻,可以成功安裝Ubuntu系統(tǒng)查近,請忽略此問題!
我是剛買的1060顯卡的新電腦挤忙,可能是由于Ubuntu16.04自帶的第三方顯卡驅(qū)動Nouveau與英偉達顯卡硬件不兼容的緣故霜威,在安裝時就會出現(xiàn)卡頓現(xiàn)象,然后出現(xiàn)安裝界面進不去册烈,或者關(guān)機卡死等問題戈泼。所以在開始安裝時就要禁用該第三方顯卡,安裝ubuntu成功后赏僧,重新進入ubuntu系統(tǒng)時大猛,也要禁用該第三方驅(qū)動,直到正確安裝了對應(yīng)的NVIDIA顯卡驅(qū)動次哈。
該命令就是:nomodeset
-
二、安裝cuda
1.官網(wǎng)下載deb包
1) 驗證自己的電腦是否有一個可以支持CUDA的GPU
可以在電腦的配置信息中找到顯卡的具體型號移剪,如果你是雙系統(tǒng)究珊,在Windows下的設(shè)備管理器中也可以查到顯卡的詳細信息;也可以在ubuntu的終端中輸入命令:
gs@gs:~$ lspci | grep -i nvidia
會顯示出你的NVIDIA GPU版本信息纵苛,不過不是很詳細剿涮。我的顯示為:
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1c20 (rev a1)
然后去CUDA的官網(wǎng)查看自己的GPU版本是否在CUDA的支持列表中。
2)驗證自己的Linux版本是否支持 CUDA(Ubuntu 16.04沒問題)
在終端中輸入命令:
gs@gs:~$ uname -m && cat /etc/*release
結(jié)果顯示為:
gs@gs:~$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
gs@gs:~$
3)驗證系統(tǒng)是否安裝了gcc
在終端中輸入:
gs@gs:~$ gcc --version
結(jié)果顯示:
gs@gs:~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
若未安裝請使用下列命令進行安裝:
sudo apt-get install build-essential
4)驗證系統(tǒng)是否安裝了kernel header和 package development
a攻人、查看正在運行的系統(tǒng)內(nèi)核版本:
在終端中輸入:
gs@gs:~$ uname -r
結(jié)果顯示:
4.15.0-33-generic
b取试、在終端中輸入:
gs@gs:~$ sudo apt-get install linux-headers-$(uname -r)
可以安裝對應(yīng)kernel版本的kernel header和package development
結(jié)果顯示:
......
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
表示系統(tǒng)里已經(jīng)有了,不用重復(fù)安裝怀吻。
若以上各項驗證檢查均滿足要求瞬浓,便可進行下面的正式安裝過程。如果沒有滿足要求的話蓬坡,可以參考cuda的官方文檔瑟蜈,里面有詳細的針對每個問題的解決方案。
3.安裝
使用cd命令進入到下載的deb包所在目錄下渣窜,執(zhí)行以下命令:
gs@gs:~/Desktop/ubuntu$ md5sum cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
用MD5 檢驗铺根,如果序號不和,得重新下載乔宿。
然后使用以下四條命令即可將cuda和對應(yīng)的顯卡驅(qū)動安裝成功:
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
$ sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda
重啟電腦位迂,檢查Device Node Verification
執(zhí)行:
$ ls /dev/nvidia*
結(jié)果顯示
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-modeset /dev/nvidia-uvm
或者
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
則安裝成功。
4.設(shè)置環(huán)境變量
終端中輸入
$ sudo gedit /etc/profile
在打開的文件末尾详瑞,添加以下兩行掂林。
64位系統(tǒng):
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位系統(tǒng):
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}}
保存文件,并重啟坝橡。因為source /etc/profile是臨時生效泻帮,重啟電腦才是永久生效。
這里有點與官方安裝文檔稍有不同计寇,需要說明:
官方文檔里說只需在終端中運行上述兩條export語句即可锣杂,但如果不將它們不寫入/etc/profile文件的話,這樣的環(huán)境變量在你退出終端后就消失了番宁,不起作用了元莫,所以寫入才是永久的做法。
重啟電腦蝶押,檢查上述的環(huán)境變量是否設(shè)置成功
a踱蠢、 驗證驅(qū)動版本,在終端中輸入以下命令:
$ cat /proc/driver/nvidia/version
結(jié)果顯示
gs@gs:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.130 Wed Mar 21 03:37:26 PDT 2018
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
b棋电、 驗證CUDA Toolkit茎截,在終端中輸入以下命令:
$ nvcc -V
會輸出CUDA的版本信息
如果是這樣的:
The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit
可能是環(huán)境配置沒有成功苇侵,請重復(fù)上述步驟7)。
-
三企锌、 嘗試編譯cuda提供的例子
1)打開終端輸入:
$ cuda-install-samples-9.0.sh <dir> #<dir>是拷貝目錄
我輸入的是:
gs@gs:~$ cuda-install-samples-9.0.sh cuda_samples
#直接拷貝到我的Home目錄下衅檀,文件名是cuda_samples,等編譯完這個例子霎俩,這個文件夾就可以刪掉了哀军。
然后通過命令cd進入NVIDIA_CUDA-9.0_Samples目錄:
gs@gs:~/cuda_samples/NVIDIA_CUDA-9.0_Samples$
然后在終端輸入:
$ make
系統(tǒng)就會自動進入到編譯過程,整個過程大概需要十幾到二十分鐘打却,請耐心等待杉适。如果出現(xiàn)錯誤的話,系統(tǒng)會立即報錯停止柳击。
第一次運行時可能會報錯猿推,提示的錯誤信息可能會是系統(tǒng)中沒有g(shù)cc,
解決辦法就是通過命令重新安裝gcc就行捌肴,在終端輸入:$ sudo apt-get install gcc 安裝完gcc后蹬叭, 再make就正常了。
編譯后的二進制文件 默認存放在NVIDIA_CUDA-9.0_Samples/bin中坦喘。
接著在上一個終端中輸入 :
$ cd /home/xxx/cuda_samples/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release #其中xxx是你自己的用戶名
然后在終端輸入 :
$ ./deviceQuery
結(jié)果如下圖所示:看到類似如下圖片中的顯示,則代表CUDA安裝且配置成功西设,其中 Result = PASS代表成功,若失敗 Result = FAIL最后再檢查一下系統(tǒng)和CUDA-Capable device的連接情況
終端輸入 :
$ ./bandwidthTest
看到類似如下圖片中的顯示瓣铣,則代表成功 證明,cuda安裝成功并可以使用了贷揽!
-
四棠笑、安裝cudnn
參考:
$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz #利用cd命令先進入到該文件所在目錄下
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cudnn安裝成功蓖救。