系統:centos6.5
目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架html
本文是在CentOS6.5環境下配置caffe和caffe的pytho3.6接口的過程當中整理所得,本文是徹底基於NVIDIA官方的文檔完成的CUDA8.0的配置。(無論任何軟件的配置要是出現問題,我相信你只要能安安靜靜的啃完官方文檔,那麼必定能解決你配置過程當中出現的問題)
NVIDIA官方的CUDA8.0安裝文檔地址:http://docs.nvidia.com/cuda/c...
默認已提早安裝NVIDIA顯卡驅動,若尚未安裝NVIDIA顯卡驅動,請先閱讀本人文章CentOS6.5編譯安裝NVIDIA驅動
進行NVIDIA驅動的安裝。python
能夠看到CentOS 6.x的最低配置要求是:
kernel≥2.6.32
GCC≥4.4.7
GLIBC≥2.12
……
由於CentOS6.5基本都能知足上述配置,因此只須要了解一下linux
lspci | grep -i nvidia
[root@localhost 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)
uname -m && cat /etc/*release
[root@localhost 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)
gcc –-version
儘可能安裝4.8.1以上,關於gcc怎麼升級到4.8.1以上版本(能支持C++11)參考本人另外一篇博客:CentOS6.5編譯安裝gcc4.8.2centos
uname -r
同時安裝後續步驟所需的兩個依賴項:kernel-devel kernel-headers
bash
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有3中方式安裝,一種是RPM格式,一種是.run文件,還有一種是在線安裝。在這裏我選擇的是.run文件安裝。ide
Nouveau驅動是Linux系統自帶的驅動,這一步在安裝NVIDIA顯卡驅動一文的時候已經介紹過了,能夠如有問題能夠參考:CentOS6.5編譯安裝NVIDIA驅動函數
備份系統鏡像測試
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
建立新的系統鏡像ui
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
其中$(uname -r)
指的是你
本身系統對應的內核版本,可在root下輸入uname -r
試試。
文本模式下啓動安裝程序(.run)才能順利安裝。
vi /etc/inittab
把最後一行id:5
改成id:3
,這一行表明的是系統啓動時默認的運行級別,5表明的是圖形界面,3表明的是文本模式。保存退出
reboot
用root登錄系統
並在終端輸入
lsmod | grep nouveau
若是沒有輸出,表示禁用成功了
提高文件權限並執行安裝命令
chmod 777 cuda_8.0.61_375.26_linux.run sh ./cuda_8.0.61_375.26_linux.run
EULA Acceptance
:一直回車到底,而後acceptCUDA 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
。
cd /home/HY/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery make ./deviceQuery
若看到下面的圖中的pass,則說明安裝成功
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 ldconfig -v
至此CUDA8.0和cudnnv5.1都安裝完畢。在安裝過程當中出現的問題主要是那幾個依賴項沒有編譯安裝或者環境變量沒有及時更新的緣由。