ubuntu16.04以deb包方式安裝cuda9.0(package manager installation)

參考文章: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
    image.png
    安裝時胎署,按字母e進入編輯吆录,編輯前和編輯后窑滞,如下圖。
    image.png
    image.png
    然后按F10保存進入安裝恢筝。
    image.png
    image.png
    image.png
    image.png
    安裝完成后進入系統(tǒng)時哀卫,按字母e進入編輯,編輯前和編輯后撬槽,如下圖此改。
    image.png
    image.png
    image.png
    然后就可以正常進入ubuntu系統(tǒng)了,等安裝好cuda和對應(yīng)的顯卡驅(qū)動之后侄柔,再也不用輸入該命令了共啃,ubuntu系統(tǒng)也不會卡死了占调。
  • 二、安裝cuda
    1.官網(wǎng)下載deb包
    Screenshot from 2018-08-25 10-58-50.png
    2.前期準(zhǔn)備工作
    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提供的例子
    Screenshot from 2018-08-25 12-58-47.png

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就正常了。

如果編譯成功状知,最后會顯示Finished building CUDA samples秽五,如下圖所示。
image.png
然后運行編譯生成的二進制文件饥悴。
編譯后的二進制文件 默認存放在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
image.png

最后再檢查一下系統(tǒng)和CUDA-Capable device的連接情況
終端輸入 :

$ ./bandwidthTest

看到類似如下圖片中的顯示瓣铣,則代表成功
image.png

證明,cuda安裝成功并可以使用了贷揽!

  • 四棠笑、安裝cudnn
    參考:
    Screenshot from 2018-08-25 13-15-31.png
    在cudnn官網(wǎng)上下載cudnn的tgz包,執(zhí)行以下四條命令即可安裝禽绪。
$ 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安裝成功蓖救。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丐一,隨后出現(xiàn)的幾起案子藻糖,更是在濱河造成了極大的恐慌,老刑警劉巖库车,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異樱拴,居然都是意外死亡柠衍,警方通過查閱死者的電腦和手機洋满,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來珍坊,“玉大人牺勾,你說我怎么就攤上這事≌舐” “怎么了驻民?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長履怯。 經(jīng)常有香客問我回还,道長,這世上最難降的妖魔是什么叹洲? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任柠硕,我火速辦了婚禮,結(jié)果婚禮上运提,老公的妹妹穿的比我還像新娘蝗柔。我一直安慰自己,他們只是感情好民泵,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布癣丧。 她就那樣靜靜地躺著,像睡著了一般栈妆。 火紅的嫁衣襯著肌膚如雪坎缭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天签钩,我揣著相機與錄音掏呼,去河邊找鬼。 笑死铅檩,一個胖子當(dāng)著我的面吹牛憎夷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昧旨,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼拾给,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兔沃?” 一聲冷哼從身側(cè)響起蒋得,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乒疏,沒想到半個月后额衙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年窍侧,在試婚紗的時候發(fā)現(xiàn)自己被綠了县踢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡伟件,死狀恐怖硼啤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斧账,我是刑警寧澤谴返,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站咧织,受9級特大地震影響嗓袱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拯爽,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一索抓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毯炮,春花似錦逼肯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至为迈,卻和暖如春三椿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背葫辐。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工搜锰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耿战。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓蛋叼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剂陡。 傳聞我的和親對象是個殘疾皇子狈涮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容