Ubuntu18.04 安裝顯卡驅(qū)動(dòng)镣屹、CUDA圃郊、CUDNN

前言

最近,在重裝的Ubuntu18.04系統(tǒng)上重新配置了深度學(xué)習(xí)要用到的一些環(huán)境野瘦,其中最重要的莫過(guò)于顯卡驅(qū)動(dòng)以及Cuda的安裝描沟,先將安裝步驟以及過(guò)程中的問(wèn)題進(jìn)行總結(jié)。
整個(gè)過(guò)程中沒(méi)有太難的地方鞭光,只是有些細(xì)節(jié)需要注意吏廉,例如后面CUDNN安裝時(shí)就會(huì)講到。

一.安裝顯卡驅(qū)動(dòng)

首先查看系統(tǒng)推薦安裝的顯卡驅(qū)動(dòng)

ubuntu-drivers devices

我的輸出如下

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001E81sv00001043sd00008736bc03sc00i00
vendor   : NVIDIA Corporation
manual_install: True
driver   : nvidia-driver-435 - distro non-free
driver   : nvidia-driver-440-server - distro non-free recommended
driver   : nvidia-driver-440 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

可以看到430,440等惰许,之后在驅(qū)動(dòng)下載里面對(duì)應(yīng)選擇自己的顯卡信息席覆,并找到對(duì)應(yīng)版本的顯卡驅(qū)動(dòng)下載。
首先安裝相關(guān)的軟件包

$ sudo apt install make cmake gcc g++ python-pip
$ sudo apt install make git vim wget cmake

之后在驅(qū)動(dòng)目錄下執(zhí)行

$ sudo chmod +x NVIDIA-Linux-x86_64-430.50.run 

禁用nouveau并重啟.

$ sudo gedit /etc/modprobe.d/blacklist.conf
# 最后一行加上: blacklist nouveau
$ sudo update-initramfs -u
$ reboot

重啟之后執(zhí)行

$ lsmod | grep nouveau

沒(méi)有任何輸出就代表禁用成功了汹买。
下面開(kāi)始安裝
sudo ./NVIDIA-Linux-x86_64-430.50.run

按照如下步驟安裝

(1)Accept
(2)contiuned install
(3) Unable to find a suitable destination to install 32-bit compatibility libraries. Your system may not be set up for 32-bit compatibility. 32-bit compatibility files will not be installed; if you wish to install them, re-run the installation and set a valid directory with the --compat32-libdir option.
 然后這里也沒(méi)什么事佩伤,直接繼續(xù)就可以了聊倔。
(4)would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X ? Any pre-existing X configuration file will be backed up 
直接選擇 NO,意思是安裝驅(qū)動(dòng)時(shí)不檢查X服務(wù)
(5) Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64(version:390.25) is now complete.  Please update your XF86Config or xorg.conf file as appropriate;see the file
/usr/share/doc/NVIDIA_GLX-1.0/README.txt for details.
只有一個(gè)選項(xiàng)生巡,選擇Ok就行了耙蔑。
然后鍵入重啟
$ sudo reboot

重啟之后查看安裝成功沒(méi):

$ nvidia-smi

會(huì)出現(xiàn)如下信息

Sat Aug  8 10:43:36 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:01:00.0  On |                  N/A |
| 20%   36C    P8     9W / 250W |    200MiB /  7981MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       993      G   /usr/lib/xorg/Xorg                           198MiB |
+-----------------------------------------------------------------------------+

到此為止,顯卡驅(qū)動(dòng)已經(jīng)安裝完成孤荣。
在運(yùn)行驅(qū)動(dòng)程序安裝文件時(shí)候甸陌,可能會(huì)提示很多例如g++版本高、或者32位等問(wèn)題盐股,直接忽視掉即可钱豁,完成安裝后,分辨率回歸正常就證明沒(méi)問(wèn)題了疯汁。

二.安裝CUDA.

首先牲尺,第一步,也是最重要的下載CUDA和CUDNN,一定要按照這里面圈住的找到對(duì)應(yīng)版本的去下載幌蚊,后面CUDNN我會(huì)講到這個(gè)問(wèn)題谤碳。
安裝CUDA

$ sudo sh cuda_10.0.130_410.48_linux.run

然后會(huì)出現(xiàn)很多需要選擇的,只有顯卡驅(qū)動(dòng)項(xiàng)(在第二個(gè))選擇N霹肝,其余幾項(xiàng)全部選擇Y估蹄,其他的就是直接回車(chē)鍵默認(rèn).
之后進(jìn)行環(huán)境配置,在終端輸入:

$ sudo gedit ./bashrc

將下面兩句添加到環(huán)境變量中去:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

保存并退出沫换,使其生效

source ~/.bashrc

三.安裝CUDNN.

這里要著重講一些CUNDD下載的問(wèn)題臭蚁,在上面的下載過(guò)程中一定要選擇和紅色圈起來(lái)的名稱(chēng)位置一樣的CUDNN,除了版本好需要對(duì)應(yīng)成自己的


cudnn下載.png

可以在下載解壓后,看一下目錄結(jié)果是不是/cuda/include讯赏、/cuda/lib垮兑。如果多了其他層級(jí)的目錄,就證明錯(cuò)誤了漱挎,這樣的話(huà)系枪,符號(hào)鏈接庫(kù)是無(wú)法正常使用的,例如我的QT項(xiàng)目應(yīng)用編譯就會(huì)提示libcudnn.so格式錯(cuò)誤磕谅。
之后可以開(kāi)始安裝
cd cuda/include中執(zhí)行如下指令:

$ sudo cp  cudnn.h /usr/local/cuda-10.0/include/

cd cuda/lib64中執(zhí)行如下指令:

$ sudo cp libcudnn* /usr/local/cuda-10.0/lib64/ 

修改權(quán)限

$ sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h 
$ sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*

在終端查看CUDNN版本:

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

輸出顯示如下

DNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 4
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

檢驗(yàn)安裝

$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make 
$ ./deviceQuery

輸入的最后一句里面result為pass即表示成功私爷。

參考文章

1.Ubuntu18.04下安裝Nvidia驅(qū)動(dòng)和CUDA10.1+CUDNN
2.Ubuntu16.04安裝NVIDIA顯卡驅(qū)動(dòng)
3.下載CUDA和CUDNN
4.Ubuntu 18.04上安裝cuda

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市膊夹,隨后出現(xiàn)的幾起案子衬浑,更是在濱河造成了極大的恐慌,老刑警劉巖放刨,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件工秩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)助币,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)浪听,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人眉菱,你說(shuō)我怎么就攤上這事迹栓。” “怎么了俭缓?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵迈螟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我尔崔,道長(zhǎng),這世上最難降的妖魔是什么褥民? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任季春,我火速辦了婚禮,結(jié)果婚禮上消返,老公的妹妹穿的比我還像新娘载弄。我一直安慰自己,他們只是感情好撵颊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布宇攻。 她就那樣靜靜地躺著,像睡著了一般倡勇。 火紅的嫁衣襯著肌膚如雪逞刷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天妻熊,我揣著相機(jī)與錄音夸浅,去河邊找鬼。 笑死扔役,一個(gè)胖子當(dāng)著我的面吹牛帆喇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亿胸,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼坯钦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了侈玄?” 一聲冷哼從身側(cè)響起婉刀,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后厂抖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體榴捡,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帘瞭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年洋丐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呈昔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡友绝,死狀恐怖堤尾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迁客,我是刑警寧澤郭宝,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站掷漱,受9級(jí)特大地震影響粘室,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卜范,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一衔统、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧海雪,春花似錦锦爵、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至湾宙,卻和暖如春樟氢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侠鳄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工嗡害, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畦攘。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓霸妹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親知押。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叹螟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348