目錄
安裝之前首先要確認你需要安裝的cuda和cudnn的版本,假如你後續還需要安裝tensorflow的話,請看我的另外一篇博客,確認你需要的版本。
1.cuda的安裝
cuda的安裝比較費事,本人花了四天時間查看了各種博客和官網教程才安裝成功。下面的3種方法都是實際測試過的方法,可以成功安裝cuda8.0和cuda9.0。
(1)下載安裝文件。首先去英偉達官網下載cuda安裝包:https://developer.nvidia.com/cuda-toolkit-archive
按照系統配置選擇安裝包,據說用deb文件安裝容易出錯,所以直接下載runfile(後綴爲.run)文件來安裝,例如我想安裝cuda9.0,且我的操作系統爲Ubuntu16.04,所以我按照下圖選擇安裝包:
(2)安裝cuda。cuda8.0和cuda9.0都集成了nvidia顯卡驅動,按照安裝cuda的同時是否安裝顯卡驅動可以分爲不帶驅動的安裝方法和帶驅動的安裝方法。下面有三種方法,第一種如果搞不定就試試第二種,第二種如果還搞不定,那就看第三種。可能比較高端的顯卡(比如1080Ti、泰坦)直接用第一種方法就能搞定,而比較差的顯卡就需要第二種甚至第三種方法才行,本人的顯卡非常垃圾,用第三種方法才安裝成功。
1.1 最簡單的方法——分開安裝驅動和cuda
(1)更新系統的驅動。
系統設置-》軟件和更新-》附加驅動-》更新nvidia和intel
假如更新驅動出現了循環登錄系統的問題,請先卸載驅動,然後使用帶驅動的安裝方法來解決問題(萬能藥)。
此時驅動的卸載方法:由於登陸進入不到圖形用戶界面(GUI),但我們可以進入到文本用戶界面(TUI)
在登陸界面狀態下,按Ctrl + Alt + f1,進入TUI執行
sudo /usr/bin/nvidia-uninstall
然後重啓
sudo reboot
(2)安裝cuda。
執行如下命令:
sudo sh cuda_9.0.176_384.81_linux.run
然後用一本書的書角壓住回車鍵,直到服務條款顯示到100%。接着按下面的步驟選擇:
accept
n(不要安裝driver)
y
y
y
安裝完成後,設置環境變量。
(3)設置環境變量。
打開主目錄下的 .bashrc文件添加如下路徑,例如我的.bashrc文件在/home/wangyuanwei下,如果沒有找到,則按Ctrl+H鍵顯示隱藏文件。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
終端運行:source ~/.bashrc
檢查:nvcc --version,如果顯示下面的文子就說明安裝成功了。
1.2 更萬能的方法——同時安裝驅動和cuda
這種安裝方法不需要在安裝cuda之前安裝顯卡驅動,但是安裝方法比較複雜,如果前一種方法安裝不成功的話可以參考這個方法。
具體步驟可以參考該鏈接:https://blog.csdn.net/qlulibin/article/details/78714596
1.3 終極殺手鐗
假如前面兩種方法都沒有解決問題的話,可以繼續看這種方法。其實這也不算是一種方法,這只是對第二種方法的要點強調而已。
其實cuda安裝不上的根本原因都是沒有仔細看官網的安裝指導,在下載cuda安裝文件的時候,在那個界面的最下方有一個安裝指導書( Installation Guide for Linux),按照官網的指導應該是可以正確安裝的。
這裏提一個注意點:大多數人沒有安裝成功就是因爲系統不滿足要求,下圖是cuda9.0的系統需求:
就本人的親身經驗,這個表裏面最有用的信息就是系統內核的版本! 絕大部分人安裝不上cuda可能就是系統內核的版本過高,cuda要求系統內核是4.4,而我們的系統大多是4.13,降低系統內核後,問題一般就解決了。
降低系統內核的方法就是直接用新內核替換舊內核,具體方法請參考百度經驗(親測有效,就是開機的時候會出現一些警告信息,不用搭理就好了):https://jingyan.baidu.com/article/5552ef47fe57b6518ffbc991.html
降低系統內核後再試試方法1或者方法2應該就能解決問題。如果還不能解決問題,建議耐心的閱讀官網的安裝指導書。
2.cudnn的安裝
cudnn的安裝非常簡單,
(1)下載安裝文件
按需求下載cudnn的安裝文件:https://developer.nvidia.com/rdp/cudnn-archive
(2)安裝cudnn
解壓下載的文件,可以看到cuda文件夾,在當前目錄打開終端,執行如下命令:
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
(3)查看cudnn版本
在終端輸入
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果出現下圖所示版本信息,說明安裝成功。