2021-05-12 14:32:11
Ubuntu 16.04安裝CUDA8.0 + cuDNN8.0 + OpenCV3.1.0 + Python2.7 + Matlab2014b + blas(mkl)
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安裝成功。
相關文章