【 系統配置 】:(1)Ubuntu18.04 + Tesla K40c + Cuda9.0 + Cuddn7.0
基於Ubuntu的配置環境:
(1)Ubuntu版本:18.04
(2)顯示卡型號:Tesla K40c
一. 查詢顯示卡驅動及CUDDN / CUDA 的版本匹配型別
1. 查詢顯示卡型號
安裝驅動之前首先得把顯示卡型號弄清楚咯,在ubuntu命令視窗鍵入:
$ lspci | grep -i nvidia # 查詢顯示卡型號
2. 百度顯示卡型號對應的驅動以及cuda版本
可以參考連結:https://developer.nvidia.com/cuda-gpus,https://blog.csdn.net/omodao1/article/details/83241074
選擇自己的顯示卡型別是否和cuda相匹配
這裡需要注意一下:一定要提前查詢驅動的版本和cuda安裝版本的匹配問題,不然cuda安裝到最後就會出現** 驅動版本不匹配,failed ** ( CUDA driver version is insufficient for CUDA runtime version )的問題,血淚教訓,,,,,只好解除安裝又重灌。
放一個版本匹配的連結:https://www.cnblogs.com/wolflzc/p/9117291.html
上NVIDIA官網上下載對應的驅動型別,本次下載的版本是NVIDIA-Linux-x86_64-390.46.run;
Cuda官網下載9.0版本的安裝檔案;
Cuddn官網下載7.0版本的安裝檔案。
到此,前期準備工作算是完成了~~下面可以愉快的開始配置了!
二. 安裝過程
- 顯示卡驅動的安裝
(轉自部落格:https://www.cnblogs.com/deeplearning1314/p/8444352.html)
安裝顯示卡驅動步驟如下:
(1) 解除安裝原有驅動
$ sudo apt-get remove –purge nvidia-*
其中(-purge)似乎不需要,會提示命令有誤。如果之前沒有裝過NVIDIA驅動,這步可以不需要,當然,前面提到過,如果先安裝Cuda並且在安裝Cuda過程中選擇安裝了不匹配的顯示卡驅動,這裡就需要執行這個命令刪掉之前的NVIDIA驅動了。
(2) 禁用Ubuntu系統自帶的通用顯示卡驅動nouveau
$ sudo gedit /etc/modprobe.d/blacklist.conf
輸入密碼後,該命令會用gedit工具開啟一個配置文字檔案,類似於window裡的txt檔案,在該檔案的最後新增一行:blacklist nouveau後儲存退出。然後終端敲入命令 sudo update-initramfs -u
(3) 重啟電腦,開啟終端敲入命令
$ lsmod | grep nouveau
若無輸出表示該驅動禁用成功。
(4) 開機後,Ctrl+alt+F1進入tty1,然後按鍵F2-F6任意一鍵,進入全黑屏編輯介面,按提示輸入使用者名稱(login)、密碼(password)後,敲入命令
$ sudo service lightdm stop
顯示lightdm stop/waiting字樣代表禁用X伺服器成功。
(5) 安裝NVIDIA顯示卡驅動,若是deb包敲入命令 dpkg -i “.deb檔名”;若是run檔案敲入命令sudo sh “.run檔名”。按照提示選擇進行安裝,如accept、yes、ok等,等待片刻即可安裝成功。
(6) 敲入命令
$ sudo service lightdm start #開啟X伺服器後
$ sudo reboot #重啟電腦
(7) 進入終端用以下三個命令均可驗證顯示卡驅動是否安裝成功,最後一個命令需要根據提示安裝glxinfo程式:sudo nvidia-smi(顯示GPU裝置表)、cat /proc/driver/nvidia/version(顯示出用於顯示的GPU驅動程式版本號、也就是那塊接了顯示線的獨顯的驅動程式版本號)、glxinfo | grep rendering(顯示yes)
- CUDA9.0安裝
部分轉自部落格:https://blog.csdn.net/carina_cao/article/details/78875981
(1) 安裝cuda,在終端視窗中輸入
$ sudo sh cuda_9.0.176_384.81_linux.run # 替換成自己下載的版本名稱
按著enter鍵跑到100%,安裝驅動(NVIDIA Accelerated Graphics Driver)選no,前面已經安裝過驅動了(不確定這裡安裝的驅動跟cuda和顯示卡是否匹配,謹慎起見),其它都選yes,或預設
出現下圖即表示安裝完成:
(2)新增環境變數:
$ sudo gedit ~/.bashrc
將下面三行程式碼寫入~/.bashrc檔案儲存後退出
export
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda-9.0/bin:$PATH # 檢查一下自己的檔案路徑,安裝版本不同路徑會有所不同
然後
$ source ~/.bashrc # 立即生效
(3)測試cuda版本
$ nvcc --version # 檢視Cuda版本
(4)編譯 Sample
$ cd ~/NVIDIA_CUDA-9.0_Samples # 注意版本問題
$ make #編譯,需要一會兒
執行完後,編譯結果會放在NVIDIA_CUDA-9.0_Samples目錄下的bin目錄
若沒有NVIDIA_CUDA-9.0_Samples這個資料夾,可以到/usr/local/cuda-9.0/bin路徑下執行以下程式碼,即可在home下生成。
$ cd /usr/local/cuda-8.0/bin //這個路徑下可以看到下面的.sh檔案
$ sudo ./cuda-install-samples-8.0.sh ~
(5) Running the Binaries
$ cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release
$ ./deviceQuery
這裡如果結果成功會顯示是 Result = PASS,若失敗 Result = FAIL。
(6)安裝錯誤及解決
Ubuntu18.04安裝CUDA9.0時,Error: unsupported compiler: 7.3.0的解決方案
在Ubuntu18.04中安裝CUDA 9.0時,會遇到Error: unsupported compiler: 7.3.0的錯誤。其原因是Ubuntu18.04的編譯器版本過高,因此只需要安裝較低版本的gcc、g++即可。
具體解決方法是:
$ sudo apt install gcc-6 g++-6
$ sudo ln -s /usr/bin/gcc-6 /usr/local/bin/gcc
$ sudo ln -s /usr/bin/g++-6 /usr/local/bin/g++
安裝成功顯示如下所示:
按步驟(5)中測試,如下圖所示則是安裝成功!
可喜可賀!終於成功安裝cuda9.0~~
- CUDDN7.0安裝
(1)將官網下載好的安裝包解壓
$ tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz # 根據下載的包更改名稱
然後,進入cuda資料夾下,依次鍵入:
$ cd cuda
$ sudo cp lib64/lib* /usr/local/cuda/lib64/
$ sudo cp include/cudnn.h /usr/local/cuda/include/
(2)更新網路連線
$ cd /usr/local/cuda/lib64/
$ sudo chmod +r libcudnn.so.7.3.1 # 自己檢視.so的版本
$ sudo ln -sf libcudnn.so.7.3.1. libcudnn.so.7
(3)測試
$ nvcc -V
- Tensorflow-gpu1.9安裝
如果沒有遇到各種奇葩問題的話,安裝起來還是很順利的,直接在命令視窗鍵入
$ Conda install tensorflow-gpu==1.9
或者
$ pip install tensorflow-gpu==1.9
等待安裝完成…
但是!!!(劃重點)
如果真的折騰了很多問題,百度方案都解決不了,一定不要硬磕,找前輩~ 找淘寶~ 幫助解決都可,時間太寶貴 (:順便插一句,淘寶真萬能
換上了顯示卡終於可以跑程式了,願大家安裝之路順利啊~
(之前寫的記錄由於關網頁沒儲存丟失了好多連結,不過基本上都可以上官網找到滴)