原文轉自:http://blog.csdn.net/masa_fish/article/details/51882183linux
CUDA7.5和CUDA8.0的安裝過程是一毛同樣的。因此若是安裝CUDA8.0的同窗,直接將下文中的全部7.5替換爲8.0便可。ubuntu
折騰了好多天,先後重裝了大概6、七次Ubuntu,終於上把CUDA安裝好了,被坑了好屢次,也走了很多彎路。
第一次發帖,還請多指教。bash
【環境】
筆記本:ThinkPad T450 X86_64
顯卡:主顯 Intel HD Graphics 5500 ; 獨顯 NVIDIA GT 940M
系統環境:Ubuntu14.04 64位、Windows7 64位 雙系統
CUDA 版本: 7.5
其餘:Ubuntu中不存在已經安裝的CUDAide
先說說本身遇到的大坑吧,安裝完CUDA以後老是遇到登陸界面循環問題:輸入密碼後又跳回密碼輸入界面。嘗試了網上的多種說法無解,最終發現個人問題是出在雙顯卡這裏。最後是在官方安裝文檔中找到了答案。ui
問題解決方案:
在安裝cuda時,會出現提示,詢問你是否須要安裝 openGL Libraries。若是你的電腦是雙顯,並且用來顯示的那塊GPU不是NVIDIA,則OpenGL Libraries就不該該安裝,不然不是NVIDIA的那塊GPU使用的OpenGL Libraries會被覆蓋,而後GUI就沒法工做了。 spa
關於 CUDA的安裝,網上有特別多的安裝帖子,我在安裝的時候也參考了不少。你會發現網上不少的安裝帖子,通常只作十幾個操做就完事了。可是CUDA的官方安裝文檔卻很是冗長,有四十多頁,別以爲它是廢話,其實都是乾貨。.net
網上的安裝帖子之因此精煉,是由於它只涵蓋了必須的安裝步驟,跳過了許多的檢查操做(例如:檢查電腦中是否已安裝CUDA須要依賴的軟件、是否已經卸載會與CUDA產生衝突的軟件)等。若是你足夠幸運,電腦裏上剛好該有的有,不應有的沒有,那這麼作沒問題,但一般狀況下你並無那麼走運。code
CUDA這個東西須要依賴的、牽着的東西特別多,若是沒有作好檢查,則在安裝時候特別容易出現各類各樣的衝突,且一旦衝突發生,即便卸載CUDA也不能解決問題,只能重裝系統。
我最後就是參考CUDA的官方文檔安裝成功的。blog
1) 必定要下一份CUDA官方的安裝文檔,按照它的步驟一步步慢慢來,不可偷懶。
CUDA 7.5 官方安裝文檔下載
2) 在安裝以前必定要詳細檢查本身的系統環境、軟件是否符合CUDA的安裝要求。不要存有僥倖心理,跳過檢查步驟。
3) 每進行一項操做,都檢查一下該項操做是否成功。圖片
下面分享一下個人安裝步驟。基本跟CUDA的官方安裝文檔的操做是一致的,不一樣的地方都有特別註明。
安裝CUDA主要分三大環節。
1、安裝前的環境準備和檢查
2、安裝CUDA
3、安裝完的校驗。
新安裝完的14.04系統會提示不少更新項。
網上有不少帖子說不建議更新,說更新事後會致使安裝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的官方文檔,裏面有詳細的針對每一個問題的解決方案。
CUDA提供兩種安裝方式:package manager安裝和runfile安裝
我原本選的是 package manager 安裝,這種方法相對簡單,但嘗試了幾回都失敗。後來是轉換到runfile安裝才成功的。所以此處只介紹runfile安裝方式。
下載cuda安裝包:cuda官網下載,根據系統信息選擇對應的版本,runfile安裝的話最後一項要選擇 runfile文件
PS: 必定要下載到英文文件夾(目錄不能含中文)
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的安裝算是告一段落了。爲了保險起見,建議進行下述的檢查工做,確保真正的安裝成功。
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~~