首頁 > 軟體

Ubuntu 16.04安裝CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)

2020-06-16 17:04:47

Caffe環境這是第四次配了,第一次是CPU版本,比較簡單,很容易就配成功了。後面兩次是GPU版本,但總有一堆問題。這次邊配環境邊記錄下來,如果再遇到問題也好查詢。版本說明如下:
Caffe: CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)

1.重灌系統

(這一步簡單,就省略了。其中有一步preparing to install Ubuntu,卡了有20分鐘左右,好像是因為硬碟沒有先格式化。我沒有試,反正有時間,等著就好了。)

2. 安裝五筆輸入法

由於要邊配邊記錄,所以就先安裝輸入法了。

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4    
im-switch -s ibus
sudo apt-get install ibus-table-wubi 
killall ibus-daemon            
ibus-daemon -drx

第一條語句是安裝IBus框架,有些版本自帶了框架,則不需要安裝。
第二條語句是啟動IBus框架。(安裝的時候提示im-switch: command not found,原來是現在改成了im-config,然後在選項中選擇ibus。)
第三條語句是安裝五筆引擎。
第四條重新啟動IBus輸入法框架:Kill掉ibus進程(如果ibus沒有執行,會顯示:
ibus-daemon: no process found
然後
輸入ibus-daemon -d
就出來了。)
第五條重新啟動IBus輸入法框架:重新啟動進程

3. 裝顯示卡驅動。

顯示卡型號:GTX950。
檢視顯示卡型號:

lspci | grep VGA

再進入nvidia官網搜尋對應的驅動版本。
由於命令列安裝比較容易,所以採用命令列安裝。
開始安裝:
首先按住ctrl+Alt+F1進入文字介面,然後執行以下語句:

sudo apt-get purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-370
sudo reboot

重新啟動後執行:

nvidia-smi

出現以下介面:

則代表顯示卡驅動安裝成功。
順便說一下截圖功能:
進入System Settings--Keyboard--Shortcuts--Screenshots
我設定的:

選中的那個是Alt+print

gnome-screenshot -h

用來檢視這些快捷方式

4. cuda8.0安裝

簡介:
CUDA(Compute Unified Device Architecture),是顯示卡廠商NVIDIA推出的運算平台CUDA?是一種由NVIDIA推出的通用平行計算架構,該架構使GPU能夠解決複雜的計算問題。開發人員現在可以使用C語言來為CUDA?架構編寫程式,C語言是應用最廣泛的一種高階程式語言。所編寫出的程式於是就可以在支援CUDA?的處理器上以超高效能執行。CUDA3.0已經開始支援C++和FORTRAN。
檔案可在https://developer.nvidia.com/cuda-downloads下載。
參考www.itdadao.com/articles/c15a234199p0.html安裝。
下載完後進入目錄:

cd Downloads/soft/

進行MD5檢驗,確保安裝包正常:

sudo md5sum cuda.run

結果:

檢驗正確後,輸入如下程式碼安裝(第一行修改檔案許可權,第二行執行檔案安裝):

chmod 777 cuda.run
sudo ./cuda.run --override


需要一直按住ENTER鍵。
後面選項答案依次為:
accept
n
y
/usr/local/cuda-8.0
y
y
/home/huhui
第三行設定詢問是否要安裝nvidia圖形驅動器,一定要選n,因為之前已經安裝過了,如果再安裝則會報錯。
如圖:

5. CUDNN安裝

下載地址:https://developer.nvidia.com/cudnn
cudnn-8.0-linux-x64-v5.1.tgz
進入下載目錄:

cd Downloads/soft

我解壓到上一層目錄:(後面的-C ../不要就是解壓到當前目錄)

tar zxvf cudnn-8.0-linux-x64-v5.1.tgz -C ../

解壓後有個cuda檔案,內有include和lib64兩個資料夾,進入include資料夾,執行如下命令複製標頭檔案:

cd ../cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/

再cd命令切換進lib64資料夾,執行如下命令複製動態連結庫:

cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/

然後進入複製後的動態連結庫進行新的連結。先進入目錄:

cd /usr/local/cuda/lib64/

然後檢視已有連結:

ls -al | grep libcudnn


刪除原有動態檔案:

sudo rm -rf libcudnn.so libcudnn.so.5

再次檢視:

ls -al | grep libcudnn


已刪除,現在建立新的連結:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so

再次檢視

ls -al | grep libcudnn


已連結好!
然後設定環境變數和動態連結庫:

sudo gedit /etc/profile

然後再開啟的檔案末尾加上(“=”前後不要有空格)

export PATH=/usr/local/cuda/bin:$PATH

儲存之後建立連結檔案:

sudo vim /etc/ld.so.conf.d/cuda.conf

這時出現(若未出現問題可跳過)

於是檢查一下vim是否安裝:

rpm -qa|grep vim


rpm沒有安裝,按照提示執行:

sudo apt install rpm

再執行

rpm -qa|grep vim

什麼結果也沒有返回。於是在命令列輸入:

vim

出現結果:

為安裝vim,輸入命令:

sudo apt install vim

再執行

sudo vim /etc/ld.so.conf.d/cuda.conf

現在可以開啟了。在檔案加入以下內容:

/usr/local/cuda/lib64

按下esc,按下wq儲存後退出。並在終端輸入以下命令使該連結生效:

sudo ldconfig

使用sample裡面的例子來測試還需要編譯。因為當前的cuda還不支援gcc5.0以上的版本,在編譯之前,我們需要修改組態檔,否則無法編譯成功。(之前試過降低gcc版本,搞了很久沒成功,這樣改會有warning,但是還是先這樣吧。)

cd /usr/local/cuda-8.0/include/
sudo cp host_config.h host_config.h.bak
sudo gedit host_config.h

113行如下:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)

說明GCC版本要在5.3以下。檢視自己的gcc版本:

gcc --version


5.4的版本,所以這句話需要改,於是我把3直接改成9:

#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)

儲存後退出。然後進入用例檔案進行編譯(注意執行第二步命令時候需要較長時間是正常現象):

cd ~/NVIDIA_CUDA-8.0_Samples/
sudo make -j16


編譯成功。

cd bin/x86_64/linux/release/
sudo ./deviceQuery

執行結果:

說明顯示卡驅動和cuda安裝成功。


IT145.com E-mail:sddin#qq.com