ubuntu安裝cuda迴圈登入
嘗試過n多種方法,總是裝不好cuda,中午在知乎上查詢迴圈登入問題的時候,看到一個問題的回答的回覆裡頭說到,現在的迴圈登入的問題一般都是由於沒有在bios裡面關閉安全啟動(security boot)導致的。經過嘗試,確實是這樣子的,激動啊。我得好好去感謝一下這位知友
至於安裝cuda的其他問題,各種部落格上講遍了
我主要參考的是這個 http://blog.csdn.net/masa_fish/article/details/51882183 其中有個小問題,export
LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64
最好是改成
export
LD_LIBRARY_PATH
為了避免文章丟失,我就直接複製過來了
2017/1/5 更新
本篇文章是基於之前安裝CUDA 7.5的經驗寫的,但因為最近更新TensorFlow 到了r0.12版本,官方提示該版本TensorFlow 和CUDA 8.0 & cudnnv5.1 配合的最好,所以又卸了CUDA 7.5,重新裝了一遍CUDA 8.0,安裝的過程中發現了之前文件裡的些許不足,於是做了稍許修改。
PS:本來想在7.5的基礎上更新到8.0,但是失敗了。還把系統搞崩了,又重灌了一遍Ubuntu,唉,說多了都是淚啊
CUDA7.5和CUDA8.0的安裝過程是一毛一樣的。所以如果安裝CUDA8.0的同學,直接將下文中的所有7.5替換為8.0即可。
折騰了好多天,前後重灌了大概六、七次Ubuntu,終於上把CUDA安裝好了,被坑了好多次,也走了不少彎路。
第一次發帖,還請多指教。
【環境】
筆記本:ThinkPad T450 X86_64
顯示卡:主顯 Intel HD Graphics 5500 ; 獨顯 NVIDIA GT 940M
系統環境:Ubuntu14.04 64位、Windows7 64位 雙系統
CUDA 版本: 7.5
其他:Ubuntu中不存在已經安裝的CUDA
先說說自己遇到的大坑吧,安裝完CUDA之後總是遇到登入介面迴圈問題:輸入密碼後又跳回密碼輸入介面。嘗試了網上的多種說法無解,最終發現我的問題是出在雙顯示卡
問題解決方案:
在安裝cuda時,會出現提示,詢問你是否需要安裝 openGL Libraries。如果你的電腦是雙顯,而且用來顯示的那塊GPU不是NVIDIA,則OpenGL Libraries就不應該安裝,否則不是NVIDIA的那塊GPU使用的OpenGL Libraries會被覆蓋,然後GUI就無法工作了。
先談談關於安裝CUDA的幾點感受吧
關於 CUDA的安裝,網上有特別多的安裝帖子,我在安裝的時候也參考了很多。你會發現網上很多的安裝帖子,一般只做十幾個操作就完事了。但是CUDA的官方安裝文件卻非常冗長,有四十多頁,別覺得它是廢話,其實都是乾貨。
網上的安裝帖子之所以精煉,是因為它只涵蓋了必須的安裝步驟,跳過了許多的檢查操作(例如:檢查電腦中是否已安裝CUDA需要依賴的軟體、是否已經解除安裝會與CUDA產生衝突的軟體)等。如果你足夠幸運,電腦裡上恰好該有的有,不該有的沒有,那這麼做沒問題,但通常情況下你並沒有那麼走運。
CUDA這個東西需要依賴的、牽著的東西特別多,如果沒有做好檢查,則在安裝時候特別容易出現各種各樣的衝突,且一旦衝突發生,即使解除安裝CUDA也不能解決問題,只能重灌系統。
我最後就是參考CUDA的官方文件安裝成功的。
總結一下,我的安裝建議是:
1) 一定要下一份CUDA官方的安裝文件,按照它的步驟一步步慢慢來,不可偷懶。
CUDA 7.5 官方安裝文件下載
2) 在安裝之前一定要詳細檢查自己的系統環境、軟體是否符合CUDA的安裝要求。不要存有僥倖心理,跳過檢查步驟。
3) 每進行一項操作,都檢查一下該項操作是否成功。
下面分享一下我的安裝步驟。基本跟CUDA的官方安裝文件的操作是一致的,不同的地方都有特別註明。
安裝CUDA主要分三大環節。
一、安裝前的環境準備和檢查
二、安裝CUDA
三、安裝完的校驗。
1、安裝Ubuntu系統14.04
新安裝完的14.04系統會提示很多更新項。
網上有很多帖子說不建議更新,說更新過後會導致安裝CUDA發生系統介面迴圈登入的問題。
但是我更新後,並沒有遇到任何問題。
2、檢查自己的電腦環境是否具備安裝CUDA的條件
a) 檢查自己的GPU是否是CUDA-capable
在終端中輸入: $ lspci | grep -i nvidia
,會顯示自己的NVIDIA GPU版本資訊
去CUDA的官網檢視自己的GPU版本是否在CUDA的支援列表中
b) 檢查自己的Linux版本是否支援 CUDA(Ubuntu 14.04沒問題)
c) 檢查自己的系統中是否裝了gcc
在終端中輸入: $gcc –version
可以檢視自己的gcc版本資訊
d) 檢查是否安裝了kernel header和 package development
在終端中輸入: $uname –r
可以檢視自己的kernel版本資訊
在終端中輸入:$ sudo apt-get install linux-headers-$(uname -r)
可以安裝對應kernel版本的kernel header和package development
以上檢查我的電腦系統都滿足要求,如果沒有滿足要求的話,可以參考cuda的官方文件,裡面有詳細的針對每個問題的解決方案。
3、 選擇安裝方式
CUDA提供兩種安裝方式:package manager安裝和runfile安裝
我本來選的是 package manager 安裝,這種方法相對簡單,但嘗試了幾次都失敗。後來是轉換到runfile安裝才成功的。因此此處只介紹runfile安裝方式。
下載cuda安裝包:cuda官網下載,根據系統資訊選擇對應的版本,runfile安裝的話最後一項要選擇 runfile檔案
4、runfile安裝cuda
a) 禁用 nouveau
終端中執行:$ lsmod | grep nouveau
,如果有輸出則代表nouveau正在載入。
Ubuntu的nouveau禁用方法:
在/etc/modprobe.d
中建立檔案blacklist-nouveau.conf
,在檔案中輸入一下內容
blacklist nouveau
options nouveau modeset=0
- 1
- 2
- 1
- 2
開啟終端,執行
$ sudo update-initramfs –u
- 1
- 1
設定完畢可以再次執行 $ lsmod | grep nouveau
檢查是否禁用成功,如果執行後沒有任何輸出,則代表禁用成功。
b) 重啟電腦,到達登入介面時,alt+ctrl+f1,進入text mode,登入賬戶
c) 輸入 $ sudo service lightdm stop
關閉圖形化介面
d) 切換到cuda安裝檔案的路徑,執行$ sudo sh cuda_7.5.18_linux.run
按照提示一步步操作
遇到提示是否安裝openGL ,選擇no(如果你的電腦跟我一樣是雙顯,且主顯是非NVIDIA的GPU需要選擇no,否則可以yes)
其他都選擇yes或者預設
安裝成功後,會顯示installed,否則會顯示failed。
e) 輸入 $ sudo service lightdm start
重新啟動圖形化介面。
Alt + ctrl +F7,返回到圖形化登入介面,輸入密碼登入。
如果能夠成功登入,則表示不會遇到迴圈登入的問題,基本說明CUDA的安裝成功了。
f) 重啟電腦。檢查Device Node Verification。
檢查路徑/dev
下 有無存在名為nvidia*
(以nvidia開頭)的多個檔案(device
files)
如果沒有的話,可以參考官方文件裡的指導步驟,進行新增。
g) 設定環境變數。
終端中輸入 $ sudo gedit /etc/profile
在開啟的檔案末尾,新增以下兩行。
$ export PATH=/usr/local/cuda-7.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64
- 1
- 2
- 1
- 2
儲存檔案。
這裡有點與官方安裝文件稍有不同,需要說明:
官方文件裡說只需在終端中執行上述兩條export語句即可,但如果不將它們不寫入/etc/profile
檔案的話,這樣的環境變數在你退出終端後就消失了,不起作用了,所以寫入才是永久的做法。
h) 重啟電腦,檢查上述的環境變數是否設定成功。
終端中輸入 : $ env
在輸出的環境變數中檢查有無上述 g) 中設定的變數,如果有則代表設定成功。
到此為止,CUDA的安裝算是告一段落了。為了保險起見,建議進行下述的檢查工作,確保真正的安裝成功。
5、 安裝完畢後的檢查工作。
a) 檢查 NVIDIA Driver是否安裝成功
終端輸入 :$ cat /proc/driver/nvidia/version
會輸出NVIDIA Driver的版本號
b) 檢查 CUDA Toolkit是否安裝成功
終端輸入 : $ nvcc –V
會輸出CUDA的版本資訊
c) 嘗試編譯cuda提供的例子
切換到例子存放的路徑,預設路徑是 ~/NVIDIA_CUDA-7.5_Samples
(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples
, xxx是你自己的使用者名稱)
然後終端輸入:$ make
如果出現錯誤的話,則會立即報錯停止,否則會開始進入編譯階段。
我的第一次執行時出現了報錯,提示的錯誤資訊是系統中沒有gcc
然後在終端執行 $ sudo apt-get install gcc
安裝完gcc後 再make就正常了
整個編譯的時間持續比較長,耐心等待,大概十幾分鍾是需要的。
d) 執行編譯生成的二進位制檔案。
編譯後的二進位制檔案 預設存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
切換路徑 : cd ~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release
終端輸入 :$ ./deviceQuery
看到類似如下圖片中的顯示,則代表CUDA安裝且配置成功(congratulation!!)
再檢查一下系統和CUDA-Capable device的連線情況
終端輸入 : $ ./sandwidthTest
看到類似如下圖片中的顯示,則代表成功
最後祝大家都能順利安裝CUDA~~