Ubuntu 14.04安裝CUDA-8.0

about

blog參考了
masa_fishUbuntu 14.04 上安裝 CUDA 7.5 超詳細(xì)教程
dennyCaffe學(xué)習(xí)系列(1):安裝配置ubuntu14.04+cuda7.5+caffe+cudnn
dongbeidamiUbuntu 14.04上安裝caffe
NVIDIA官方教程de NVIDIA CUDA Installation Guide for Linux

0. FIRST OF ALL

0.1 如果之前安裝過径密,但失敗了的同學(xué),請敲下...

a)..deb安裝失敗的....

$ sudo apt-get --purge remove nvidia*

b).run安裝失敗的....
執(zhí)行

$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo /usr/bin/nvidia-uninstall
  • 在 a) 或 b) 后,若仍安裝有問題躺孝,請敲下
$ sudo apt-get autoremove --purge nvidia-*   #把nvidia驅(qū)動清個干干凈凈
$ sudo reboot
  • !Note: sudo apt-get remove --purge nvidia-*這條指令并沒卸載干凈享扔,可能存在驅(qū)動的沖突底桂,導(dǎo)致安裝不成功

0.2 建議來一本官方安裝手冊:

NVIDIA CUDA INSTALLATION GUIDE FOR LINUX

1 PRE-INSTALLATION ACTION

1.1 Verify you have a CUDA-Capable GPU

$ lspci | grep -i nvidia

我的機器顯示:

01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)

這里 驗證型號

1.2 Verify you have a Supported Version of Linux

$ uname -m && cat /etc/*release

結(jié)果顯示:

x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
...

1.3 Verify the System Has GCC Installed

$ gcc --version

結(jié)果顯示:

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
...

1.4 Verify the System has the Correct Kernel Headers and Development Packages Installed

查看正在運行的系統(tǒng)內(nèi)核版本

$ uname -r

結(jié)果顯示

4.4.0-45-generic

安裝對應(yīng)的kernels header和開發(fā)包:

$ sudo apt-get install linux-headers-$(uname -r)

1.5 Download the NVIDIA CUDA Toolkit

這里下載最新.run版本
這里選擇歷史版本

cudn.png

下載完后,用MD5 檢驗惧眠,如果序號不和籽懦,得重新下載

$ md5sum cuda_8.0.27_linux.run
5639ffeb939ee58a81554d06bd084e15  cuda_8.0.27_linux.run

2. RUNFILE INSTALLATION

2.1 Disabling Nouveau

$ lsmod | grep nouveau

如果有內(nèi)容輸出,則需禁掉nouveau

$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

添加如下內(nèi)容:

blacklist nouveau
options nouveau modeset=0

保存退出(:wq)
執(zhí)行

$ sudo update-initramfs –u

再執(zhí)行

$ lsmod | grep nouveau

若無內(nèi)容輸出氛魁,則禁用成功
然后重啟電腦

$ sudo reboot

2.2 Reboot Into Text Mode

重啟后暮顺,進(jìn)入登錄界面的時候,不要登錄進(jìn)入桌面(否則可能會失敗秀存,若不小心進(jìn)入捶码,請重啟電腦),直接按Ctrl+Alt+F1進(jìn)入文本模式(命令行界面)或链,登錄賬戶惫恼。

關(guān)閉圖形化界面

$ sudo service lightdm stop

切換到cuda_8.0.27_linux.run的目錄,執(zhí)行

$ sudo sh cuda_8.0.27_linux.run

!Note:安裝的時候澳盐,要讓你先看一堆文字(EULA)祈纯,我們直接不停的按空格鍵到100%;
遇到提示是否安裝openGL ,選擇no,其他的可以一路accept, yes或回車

安裝成功后叼耙,會顯示installed腕窥,否則會顯示failed

重啟圖形化界面

$ sudo service lightdm start

登錄時能進(jìn)入桌面筛婉,不會一直在重復(fù)登錄簇爆,成功已近大半。

!Note:如果出現(xiàn)重復(fù)登陸情況倾贰,請卸載cuda,然后重裝冕碟。
原因:是OpenGLNVIDIA發(fā)生了什么什么的。
卸載:由于登陸進(jìn)入不到圖形用戶界面(GUI)匆浙,但我們可以進(jìn)入到文本用戶界面(TUI)(TUI很酷有沒有?)

  • 在登陸界面時安寺,按Ctrl + Alt + f1,進(jìn)入TUI
  • 執(zhí)行
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo /usr/bin/nvidia-uninstall
  • 然后重啟
$ sudo reboot
  • 重新安裝.run(安裝時請留眼,在提示是否安裝OpenGL時首尼,應(yīng)該選no)

2.3 Device Node Verification

執(zhí)行

$ ls /dev/nvidia*

可能出現(xiàn)a), b), c)挑庶,d)三種結(jié)果,請對號入座软能。前方高能迎捺!

  • a) 若結(jié)果顯示
/dev/nvidia0  /dev/nvidiactl  /dev/nvidia-uvm

或顯示出類似的信息,應(yīng)該有三個(包含一個類似/dev/nvidia-nvm的)查排,則安裝成功

  • b)如果運氣有點背凳枝,結(jié)果是這樣的
ls: cannot access /dev/nvidia*: No such file or directory

或是這樣的,只出現(xiàn)

/dev/nvidia0  /dev/nvidiactl

中的一個或兩個,但沒有/dev/nvidia-num

莫方岖瑰,也許還有希望(我在安裝時就是這種情況叛买。。蹋订。)按照官方的做法:

把下面的.sh文件隨便命個名(我命名為Nka.sh)

#!/bin/bash

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
  # Count the number of NVIDIA controllers found.
  NVDEVS=`lspci | grep -i NVIDIA`
  N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
  NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

  N=`expr $N3D + $NVGA - 1`
  for i in `seq 0 $N`; do
    mknod -m 666 /dev/nvidia$i c 195 $i
  done

  mknod -m 666 /dev/nvidiactl c 195 255

else
  exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
  # Find out the major device number used by the nvidia-uvm driver
  D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

  mknod -m 666 /dev/nvidia-uvm c $D 0
else
  exit 1
fi

然后執(zhí)行

$ sudo chmod +x Nka.sh
$ sudo ./Nka.sh
$  ls /dev/nvidia*
/dev/nvidia0  /dev/nvidiactl  /dev/nvidia-uvm

成功率挣!

1, 這種做不太友好露戒,我的意思是椒功,當(dāng)下次重啟電腦時,你使用ls /dev/nvidia*指令時智什,你是看不到那三個nvidia的文件了动漾。所以你又得手動執(zhí)行
sudo ./Nka.sh指令了,是不是很煩荠锭!其實上面的.sh文件是startup scipt谦炬,也就是啟動腳本。顧名思義节沦,就是在系統(tǒng)啟動時,自動加載的础爬。哈甫贯,這么棒的功能就是我們想要的。
2看蚜, 添加啟動腳本的方法大致有兩種叫搁,我就此介紹一種最傻瓜化的方法。
執(zhí)行

$ sudo vi /etc/rc.local

如果你是第一次打開這個文件供炎,它應(yīng)該是空的(除了一行又一行的#注釋項外)渴逻。這文件的第一行是

#!/bin/sh -e

-e去掉(這步很重要,否則它不會加載這文本的內(nèi)容)
然后把Nka.sh的內(nèi)容除了#!/bin/bash外復(fù)制到其中音诫,(before exit 0 )保存退出惨奕。
下次重啟時,你應(yīng)該能直接看到/dev目錄下的三個nvidia的文件

$ ls /dev/nvidia*
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
  • c) 如果人品實在不好(我就遇過幾次竭钝。梨撞。。)香罐,結(jié)果是這樣的
modprobe: ERROR: could not insert 'nvidia_uvm': Operation not permitted

少年卧波,我救不了你了。但是winney大神可以庇茫。(在此謝過她了港粱,阿 里 嘎 多!)

當(dāng)出現(xiàn)這種情況時旦签,可能是驅(qū)動打起架來了查坪。
執(zhí)行

$ sudo apt-get autoremove --purge nvidia-* #把nvidia驅(qū)動清個干干凈凈
$ sudo reboot         #一定記得重啟寸宏,不然你會后悔的!

然后

$ sudo ./Nka.sh
$ ls /dev/nvidia*

這時,應(yīng)該可以見到

/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
  • d) 未知咪惠,有點悲傷的告訴你击吱,少年,我只能幫到這了,建議網(wǎng)上另尋方案遥昧,或重裝.run覆醇。Gook Luck!

3 POST-INSTALLATION ACTIONS

3.1 Environment Setup

打開系統(tǒng)配置文件

$ sudo vi /etc/profile

在文件最后添加

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

保存退出

執(zhí)行

$ source /etc/profile

讓文件立即生效

至此cuda 8.0安裝完畢。

3.2 Verify the Installation

3.2.1 Verify the Driver Version

敲入

$ cat /proc/driver/nvidia/version

結(jié)果顯示

NVRM version: NVIDIA UNIX x86_64 Kernel Module  361.77  Sun Jul 17 21:18:18 PDT 2016
GCC version:  gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

或之類的東東

3.2.2 Verify CUDA Toolkit

敲入

$ nvcc -V

結(jié)果顯示

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Wed_May__4_21:01:56_CDT_2016
Cuda compilation tools, release 8.0, V8.0.26

!Note: 如果是這樣的:

The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit

莫方炭臭,確認(rèn)下/etc/profile的配置環(huán)境是否正確

即使什么都沒改永脓,可能忘了這一步,或是之前執(zhí)行了,但過了有段時間鞋仍,且又還沒重啟電腦常摧。因為source /etc/profile是臨時生效,重啟電腦才是永久生效

執(zhí)行

$ source /etc/profile

再執(zhí)行(應(yīng)該就有顯示了)

$ nvcc -V
3.2.3 Complie sample

cd 進(jìn)NVIDIA_CUDA-8.0_Samples目錄
執(zhí)行

$  make

!Note: 這區(qū)間大概需要十幾到二十分鐘威创,請耐心等待落午。建議來杯caffe

運行完后,編譯結(jié)果會放在NVIDIA_CUDA-8.0_Samples目錄下的bin目錄

3.2.3 Running the Binaries

cd進(jìn)bin目錄里面的里面的里面肚豺,知道看到一堆可執(zhí)行文件(菱形的圖標(biāo))溃斋,大概是 ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release

執(zhí)行

$ ./deviceQuery

結(jié)果顯示

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GT 720M"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    2.1
  Total amount of global memory:                 1985 MBytes (2081226752 bytes)
  ( 2) Multiprocessors, ( 48) CUDA Cores/MP:     96 CUDA Cores
  GPU Max Clock rate:                            1250 MHz (1.25 GHz)
  Memory Clock rate:                             800 Mhz
  Memory Bus Width:                              64-bit
  L2 Cache Size:                                 131072 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 32768
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1536
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (65535, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     No
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GT 720M
Result = PASS

或之類的東東,且最后是 Result = PASS,若失敗 Result = FAIL

再來一個吸申,執(zhí)行

$ ./bandwidthTest

結(jié)果顯示

[CUDA Bandwidth Test] - Starting...
Running on...

 Device 0: GeForce GT 720M
 Quick Mode

 Host to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)    Bandwidth(MB/s)
   33554432         3220.9

 Device to Host Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)    Bandwidth(MB/s)
   33554432         3271.9

 Device to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)    Bandwidth(MB/s)
   33554432         9772.8

Result = PASS

NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.

少年梗劫,恭喜你!你已成功安裝cuda-8.0,接下來就可以愉快的玩耍了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末截碴,一起剝皮案震驚了整個濱河市梳侨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌日丹,老刑警劉巖走哺,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哲虾,居然都是意外死亡割坠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門妒牙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彼哼,“玉大人,你說我怎么就攤上這事湘今「抑欤” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拴签。 經(jīng)常有香客問我孝常,道長,這世上最難降的妖魔是什么蚓哩? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任构灸,我火速辦了婚禮,結(jié)果婚禮上岸梨,老公的妹妹穿的比我還像新娘喜颁。我一直安慰自己,他們只是感情好曹阔,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布半开。 她就那樣靜靜地躺著,像睡著了一般赃份。 火紅的嫁衣襯著肌膚如雪寂拆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天抓韩,我揣著相機與錄音纠永,去河邊找鬼。 笑死谒拴,一個胖子當(dāng)著我的面吹牛渺蒿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彪薛,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怠蹂!你這毒婦竟也來了善延?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤城侧,失蹤者是張志新(化名)和其女友劉穎易遣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫌佑,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡豆茫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屋摇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揩魂。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖炮温,靈堂內(nèi)的尸體忽然破棺而出火脉,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布倦挂,位于F島的核電站畸颅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏方援。R本人自食惡果不足惜没炒,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望犯戏。 院中可真熱鬧送火,春花似錦、人聲如沸笛丙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胚鸯。三九已至骨稿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姜钳,已是汗流浹背坦冠。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哥桥,地道東北人辙浑。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拟糕,于是被迫代替她去往敵國和親判呕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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