參考:http://blog.csdn.net/enjoyyl/article/details/47397505
http://blog.csdn.net/baobei0112/article/details/77996369
0.檢查你的電腦是否支持CUDA:
檢查GPU是否支持:輸入如下命令,如果輸出的GPU型號是NVIDIA的,並且在此http://developer.nvidia.com/cuda-gpus列表內,則支持。
lspci | grep -i nvidia
第1步 安裝依賴包
安裝后續步驟或環境必需的依賴包,依次輸入以下命令:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev sudo apt-get install git cmake build-essential
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
有一定幾率安裝失敗而導致后續步驟出現問題,所以要確保以上依賴包都已安裝成功,驗證方法就是重新運行安裝命令,如驗證 git cmake build-essential是否安裝成功共則再次運行以下命令:
sudo apt-get install git cmake build-essential
- 1
界面提示如下則說明已成功安裝依賴包,否則繼續安裝直到安裝成功。
yhao@yhao-X550VB:~$ sudo apt-get install git cmake build-essential
正在讀取軟件包列表... 完成 正在分析軟件包的依賴關系樹 正在讀取狀態信息... 完成 build-essential 已經是最新版 (12.1ubuntu2)。 cmake 已經是最新版 (3.5.1-1ubuntu3)。 git 已經是最新版 (1:2.7.4-0ubuntu1.1)。 下列軟件包是自動安裝的並且現在不需要了: lib32gcc1 libc6-i386 使用'sudo apt autoremove'來卸載它(它們)。 升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 0 個軟件包,有 94 個軟件包未被升級。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
第2步 禁用 nouveau
安裝好依賴包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能順利安裝 NVIDIA 顯卡驅動,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一條禁用命令,首先需要打開該文件,通過以下命令打開:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
- 1
打開后發現該文件中沒有任何內容,寫入:
blacklist nouveau option nouveau modeset=0
- 1
保存時命令窗口可能會出現以下提示:
** (gedit:4243): WARNING **: Set document metadata failed: 不支持設置屬性 metadata::gedit-position
- 1
- 2
無視此提示~,保存后關閉文件,注意此時還需執行以下命令使禁用 nouveau 真正生效:
sudo update-initramfs -u
- 1
第3步 配置環境變量
同樣使用 gedit 命令打開配置文件:
sudo gedit ~/.bashrc
- 1
- 2
打開后在文件最后加入以下兩行內容:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
- 1
- 2
- 3
保存退出。
第4步 下載 CUDA 8.0
在官網下載的deb安裝包,9.0版。
第5步 安裝 CUDA 8.0
2.安裝依賴工具:需要連網。
# installation of required tools sudo apt-get install -y gcc g++ gfortran build-essential \ git wget linux-image-generic libopenblas-dev python-dev \ python-pip python-nose python-numpy python-scipy
- 1
- 2
- 3
- 4
3.安裝CUDA:
# installing CUDA sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb sudo apt-get update sudo apt-get install cuda
- 1
- 2
- 3
- 4
- 5
4.設置環境變量:
注意:此環境變量為64位系統下的,32位的把lib64
改成lib
即可。
方式1,僅修改用戶變量
# setting the environment variables so CUDA will be found echo "\nexport PATH=/usr/local/cuda-7.0/bin:$PATH" >> ~/.bashrc echo "\nexport LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
- 1
- 2
- 3
- 4
方式2,修改所有用戶變量
先使用sudo gedit /etc/profile
打開“profile”文件,或者sudo gedit ~/.bashrc
打開“./bashrc”文件,然后在打開的文件的末尾添加如下代碼並保存:
# setting the environment variables so CUDA will be found # After open profile, Add follow code at the end of file export PATH=/usr/local/cuda-7.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
- 1
- 2
- 3
- 4
5.加載新的環境變量:添加好環境變量后,需要加載新的環境變量,才能應用於系統。
加載更新環境變量source ~/.bashrc
(方式1),source /etc/profile
或source ~/.bashrc
(方式2)。
=====重啟系統!重啟系統!重啟系統!=======
sudo reboot
安裝cuda sample
進入/usr/local/cuda/samples, 執行下列命令來編譯samples
sudo make all -j4
全部編譯完成后, 進入 samples/bin/x86_64/linux/release目錄, 運行deviceQuery
./deviceQuery
如果顯示Result = PASS則說明安裝成功,如果無法顯示顯卡信息,可以執行sudo reboot 命令重啟再測試一下。
http://www.jianshu.com/p/20f8d9233075
第6步 驗證 CUDA 8.0 是否安裝成功
分別執行以下命令:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
- 1
- 2
- 3
- 4
- 5
若看到類似以下信息則說明 cuda 已安裝成功:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GT 740M" CUDA Driver Version / Runtime Version 8.0 / 8.0 CUDA Capability Major/Minor version number: 3.5 Total amount of global memory: 2004 MBytes (2100953088 bytes) ( 2) Multiprocessors, (192) CUDA Cores/MP: 384 CUDA Cores GPU Max Clock rate: 1032 MHz (1.03 GHz) Memory Clock rate: 800 Mhz Memory Bus Width: 64-bit L2 Cache Size: 524288 bytes
。。
Result = PASS
第7步 安裝 cudnn
登錄官網:https://developer.nvidia.com/rdp/cudnn-download ,下載對應 cuda 版本且 linux 系統的 cudnn 壓縮包,注意官網下載 cudnn 需要注冊帳號並登錄,不想注冊的可從我的網盤下載:https://pan.baidu.com/s/1c2xPVzy
載完成后解壓,得到一個 cudn 文件夾,該文件夾下include 和 lib64 兩個文件夾,命令行進入 cudn/include 路徑下,然后進行以下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #復制頭文件
- 1
然后命令行進入 cudn/lib64 路徑下,運行以下命令:
sudo cp lib* /usr/local/cuda/lib64/ #復制動態鏈接庫 cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #刪除原有動態文件 sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成軟銜接 sudo ln -s libcudnn.so.5 libcudnn.so #生成軟鏈接
- 1
- 2
- 3
- 4
這里需要注意第三行命令,網上有人的第三行命令為:
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成軟銜接
- 1
起初我執行的也是上條鏈接 libcudnn.so.5.1.5 的命令,但是后面編譯caffe時出錯,報錯內容為 /usr/bin/ld: 找不到 -lcudnn,所以這里需要先查看一下自己應該鏈接的是 libcudnn.so.5.1.10 還是 libcudnn.so.5.1.5 ,查看方法為下:
locate libcudnn.so
- 1
我執行完后顯示如下:
yhao@yhao-X550VB:~$ locate libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so.5 /home/yhao/.local/share/Trash/files/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.5.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.trashinfo /home/yhao/cuda/lib64/libcudnn.so /home/yhao/cuda/lib64/libcudnn.so.5 /home/yhao/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so /usr/local/lib/libcudnn.so.5
可以看到我的文件是 libcudnn.so.5.1.10 ,並沒有 libcudnn.so.5.1.5,所以第三行命令我鏈接的是 libcudnn.so.5.1.10 ,這里第三行鏈接命令視你的查看結果而定。
安裝完成后可用 nvcc -V 命令驗證是否安裝成功,若出現以下信息則表示安裝成功:
yhao@yhao-X550VB:~$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Tue_Jan_10_13:22:03_CST_2017 Cuda compilation tools, release 8.0, V8.0.61
第8步 安裝 opencv3.1
進入官網 : http://opencv.org/releases.html , 選擇 3.3.1 版本的 source , 下載 opencv-3.3.1.zip
解壓到你要安裝的位置,命令行進入已解壓的文件夾 opencv-3.3.1 目錄下,執行:
mkdir build # 創建編譯的文件目錄 cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 #編譯
編譯運行到37%時出現錯誤,改成(http://blog.csdn.net/sysuwuhongpeng/article/details/45485719)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
make -j8 #編譯