Elam的caffe筆記之配置篇(三):Centos 6.5下裝CUDA8.0 和cudnnv5.1
Elam的caffe筆記之配置篇(三):Centos 6.5下裝CUDA8.0 和cudnnv5.1
配置要求:
系統:centos6.5
目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架
寫在前面,本文是在CentOS6.5環境下配置caffe和caffe的pytho3.6介面的過程中整理所得,本文是完全基於NVIDIA官方的文件完成的CUDA8.0的配置。(不管任何軟體的配置要是出現問題,我相信你只要能安安靜靜的啃完官方文件,那麼一定能解決你配置過程中出現的問題)
NVIDIA官方的CUDA8.0安裝文件地址:
預設已提前安裝NVIDIA顯示卡驅動,若還沒有安裝NVIDIA顯示卡驅動,請先閱讀本人文章CentOS6.5編譯安裝NVIDIA驅動
進行NVIDIA驅動的安裝。
CUDA8.0對各個作業系統的最低配置要求
可以看到CentOS 6.x的最低配置要求是:
kernel≥2.6.32
GCC≥4.4.7
GLIBC≥2.12
……
因為CentOS6.5基本都能滿足上述配置,所以只需要瞭解一下
安裝前準備工作:
1.NVIDIA顯示卡版本檢查:
lspci | grep -i nvidia
[[email protected] HY]# lspci | grep -i nvidia
02:00.0 VGA compatible controller: NVIDIA Corporation GK107 [NVS 510] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
2.檢查Linux版本:
uname -m && cat /etc/*release
[[email protected] HY]# uname -m && cat /etc/*release
x86_64
CentOS release 6.5 (Final)
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
3.gcc版本檢查:
gcc –version
儘量安裝4.8.1以上,關於gcc怎麼升級到4.8.1以上版本(能支援C++11)參考本人另一篇部落格:CentOS6.5編譯安裝gcc4.8.2
4.核心版本檢查:
uname -r
同時安裝後續步驟所需的兩個依賴項:kernel-devel kernel-headers
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
必須加上-$(uname -r)
否則下載到的是高一個版本的。
此外為了能夠順利執行安裝完成後的Samples,還需要裝以下依賴項:
Freeglut
(本人安裝的是freeglut-3.0.0 版本)
libx11
libxmu
libxi
mesa*
build-essential
首先用yum info
看看是否已安裝再使用yum install
去嘗試安裝,若是沒有直接去網上找原始碼編譯安裝 .
其中特別指出build-essential
這個依賴項,烏班圖和centos叫法不一樣,build-essential
是烏班圖的叫法,而centos則是Development Tools
作用是提供編譯程式必須軟體包的列表資訊,也就是說編譯程式有了這個軟體包它才知道標頭檔案在哪,才知道庫函式在哪,還會下載依賴的軟體包,最後才組成一個開發環境,在配置centos系統的時候會提醒你要不要安裝,若是沒有安裝可以使用以下命令進行安裝。
yum groupinstall "Development Tools"
安裝CUDA8.0
CUDA8.0有3中方式安裝,一種是RPM格式,一種是.run檔案,還有一種是線上安裝。在這裡我選擇的是.run檔案安裝。
1.禁用Nouveau驅動
Nouveau驅動是Linux系統自帶的驅動,這一步在安裝NVIDIA顯示卡驅動一文的時候已經介紹過了,可以若有問題可以參考:CentOS6.5編譯安裝NVIDIA驅動
2.備份和重建系統映象
備份系統映象
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
建立新的系統映象
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
其中$(uname -r)
指的是你
自己系統對應的核心版本,可在root下輸入uname -r
試試。
3.改變系統執行級別
文字模式下啟動安裝程式(.run)才能順利安裝。
vi /etc/inittab
把最後一行id:5
改為id:3
,這一行代表的是系統啟動時預設的執行級別,5代表的是圖形介面,3代表的是文字模式。儲存退出
4.重啟
reboot
5.安裝
用root登陸系統
並在終端輸入
lsmod | grep nouveau
如果沒有輸出,表示禁用成功了
提升檔案許可權並執行安裝命令
chmod 777 cuda_8.0.61_375.26_linux.run
sh ./cuda_8.0.61_375.26_linux.run
安裝過程主要是以下4個部分
EULA Acceptance
:一直回車到底,然後accept
CUDA Driver installation
:如果已經安裝了NVIDIA顯示卡驅動,那麼拒絕安裝(n),他會問你需不需要安裝openGL,參考如下:
If installing the driver, the installer will also ask if the openGL libraries should be installed. If the GPU used for display is not an NVIDIA GPU, the NVIDIA openGL libraries should not be installed. Otherwise, the openGL libraries used by the graphics driver of the non-NVIDIA GPU will be overwritten and the GUI will not work. If performing a silent installation, the --no-opengl-libs option should be used to prevent the openGL libraries from being installed. See the Advanced Optionssection for more details.
根據自己的需求選擇安裝(y)或者不安裝(n)
CUDA Toolkit installation, location, and /usr/local/cuda symbolic link
:安裝Toolkit並執行軟連結
CUDA Samples installation and location
以上兩個建議直接按照預設路徑安裝,全部選y。
配置環境變數
echo 'export PATH=/usr/local/cuda-8.0/bin:$PATH'>>~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH'>>~/.bashrc
source ~/.bashrc
配置檔案更新
新建cuda.conf
vi /etc/ld.so.conf.d/cuda.conf
加入cuda的lib64路徑
/usr/local/cuda-8.0/lib64
ldconfig
然後把系統執行級別重新改為5,reboot
。
測試CUDA是否安裝成功
cd /home/HY/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery
若看到下面的圖中的pass,則說明安裝成功
cudnn安裝
解壓
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
cd cudnn-8.0-linux-x64-v5.1
複製所有lib檔案到cuda路徑下的lib64資料夾下
cp lib* /usr/local/cuda-8.0/lib64/
複製標頭檔案到對應的include資料夾下
cp cudnn.h /usr/local/cuda-8.0/include/
設定軟連結
cd /usr/local/cuda-8.0/lib64
rm -rf libcudnn.so libcudnn.so.5
ln -s libcudnn.so.5.1.10 libcudnn.so.5
ln -s libcudnn.so.5 libcudnn.so
至此CUDA8.0和cudnnv5.1都安裝完畢。在安裝過程中出現的問題主要是那幾個依賴項沒有編譯安裝或者環境變數沒有及時更新的原因。