1. 程式人生 > >【 系統配置 】:(1)Ubuntu18.04 + Tesla K40c + Cuda9.0 + Cuddn7.0

【 系統配置 】:(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

等待安裝完成…

但是!!!(劃重點)

如果真的折騰了很多問題,百度方案都解決不了,一定不要硬磕,找前輩~ 找淘寶~ 幫助解決都可,時間太寶貴 (:順便插一句,淘寶真萬能

換上了顯示卡終於可以跑程式了,願大家安裝之路順利啊~
(之前寫的記錄由於關網頁沒儲存丟失了好多連結,不過基本上都可以上官網找到滴)