原文轉自:http://blog.csdn.net/masa_fish/article/details/51882183
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文件
PS: 一定要下載到英文文件夾(目錄不能含中文)
4、runfile安裝cuda
a) 禁用 nouveau
終端中運行:$ lsmod | grep nouveau
,如果有輸出則代表nouveau正在加載。
(1)直接移除這個驅動(備份出來)
$ mv /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org
PS: 紅色部分每個版本是不一樣的,可以cd過去看一下是什么版本
(2)重新加載
$ update-initramfs -u
(3)重啟
設置完畢可以再次運行 $ 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
保存文件。
這里有點與官方安裝文檔稍有不同,需要說明:
官方文檔里說只需在終端中運行上述兩條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~~