Linux16.04配置CUDA8.0+CUDNNV5.1
文章目錄
- 一、配置CUDA
- 二、安裝CUDA8.0
- 三、測試
- 四、配置cudnn
- 注意事項
CUDA – 作為一種并行編程語言API庫,里面包含了很多使用的API函數。它主要用于GPU的編程。它內置了很多高性能的集成庫,(包括"基于線性代數的cuBLAS",“基于FFT的cuFFT”“基于稀疏矩陣cuSPARSE” “基于隨機數的cuRAND”“英偉達性能原語NPP"“基于特征值和矩陣分解的CULA”)可以大大的加速并行處理的速度。
由于大數據的普及和硬件的加速使得“深度學習”變得熾手可熱。但是它里面會涉及到大量的矩陣操作。而GPU作為一個并行處理的硬件很擅長處理"矩陣操作",“一個高性能的GPU可以使得一個Model的訓練時間從幾周變為幾天”,大大的加速訓練的過程。這應該是GPU可以用于深度學習領域的根本原因。
也許很多人會問這和CUDA有什么關系呢?
當前全球的GPU提供商中最大的是NVIDIA,它是一家專業生產、加速GPU,并未企業提供解決方案的公司。由于“并行時代的到來”,使得這家公司的市值大升,有興趣的同學可以去網上了解。而CUDA作為GPU的開發語言,是由NVIDIA公司提出、擴展和維護的。近幾年CUDA發展的越來越壯大。越來越多的人開始去了解“并行編程”“CUDA開發”,畢竟“并行時代”已經來臨。
一、配置CUDA
1、 首先,你需要做的一件事情是:檢查你的電腦是否支持GPU。你可以通過以下的方式就行查找:
點擊 “計算機”–“屬性”–“設備管理器”–“顯卡適配器”下面會顯示你當前主機內所安裝的CPU和GPU。
注意事項:
方案一:
[1] 進入NVIDIA官方提供的驅動鏈接
[2] 選擇合適的Product Type、Product Series、Product、Operating System、Language。
你應該選擇的配置如下圖所示:
注意事項:
方案二:
1、進入以下鏈接顯卡查詢鏈接進行查詢
2、禁用可能導致問題的開源驅動,編輯/etc/modprobe.d/blacklist.conf文件
[1] sudo vim /etc/modprobe.d/blacklist.conf
[2] 添加以下內容:
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
3、卸載本機安裝過的NVIDIA驅動。
sudo apt-get remove --purge nvidia-*
4、執行以下命令添加驅動源。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
5、按下Ctrl+Alt+F1組合鍵切換到tty1界面下執行以下命令:
sudo service lightdm stop # 停止service
sudo apt-get install nvidia-375 nvidia-settings nvidia-prime # 安裝nvidia-375 nvidia-settings nvidia-prime,nvidia-375表示上面查詢到的Version.
sudo nvidia-xconfig # 配置nvidia
sudo update-initramfs -u # 更新配置
sudo reboot # 重啟Linux
注:這里可能會遇到循環登錄的問題,以下是一種解決方案。
它可以解決安裝在虛擬機上的Ubuntu出現循環登錄的問題。
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity
sudo apt-get remove --purge nvidia*
shutdown -r now
二、安裝CUDA8.0
1、 在該網址CUDA下載鏈接下載最新版本的CUDA。
2.、選擇下載runfile local版本的CUDA
3、給runfile添加執行權限并執行安裝
cd ~/Download/
sudo chmod +x cuda_8.0.61_375.26_linux.run
sudo sh cuda_8.0.61_375.26_linux.run
4、.根據命令行提示進行安裝:
1)按q退出條款瀏覽或者按空格直到條款末尾,輸入accept接受條款;
2)輸入n不安裝nvidia圖像驅動,前面已經安裝好驅動;
3)輸入y安裝cuda 8.0 toolkit;
4)回車確認cuda默認安裝路徑(/usr/local/cuda-8.0);
5)輸入y安裝CUDA 8.0 Samples;
6)輸入CUDA 8.0 Samples安裝路徑:/home/用戶名/CUDA/samples(選擇你喜歡的目錄進行安裝)
5、配置一些環境變量,自我感覺可有可無,但是許多的方案都會有所涉及,建議配上吧。
[1] export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} [2] export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} [3] sudo gedit /etc/profile #導入動態庫 [4] export PATH = /usr/local/cuda/bin:$PATH #在文件末尾加入 [5] sudo gedit /etc/ld.so.conf.d/cuda.conf #創建鏈接文件 [6] /usr/local/cuda/lib64 #在打開的文件中添加以下內容 [7] sudo ldconfig #執行使得鏈接生效至此,CUDA安裝完畢,你需要進行下面的驗證工作來確保你的CUDA已經正確安裝。
三、測試
測試CUDA案例
[1] cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
[2] make
[3] sudo ./deviceQuery
方案一:如果顯示如下信息,則表示CUDA安裝成功。
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: “GeForce GTX 1080”
CUDA Driver Version / Runtime Version 8.0 / 8.0
CUDA Capability Major/Minor version number: 6.1
Total amount of global memory: 8112 MBytes (8506179584 bytes)
(20) Multiprocessors, (128) CUDA Cores/MP: 2560 CUDA Cores
GPU Max Clock rate: 1835 MHz (1.84 GHz)
Memory Clock rate: 5005 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
<Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1080Result = PASS
方案二:運行 nvidia-smi
顯示如下結果則表明安裝成功:
注:這個可能會因為不同的GPU顯示不同的輸出,你需要進行判斷。
方案三:運行 nvidia-settings
運行結果如下所示:
四、配置cudnn
1、 打開官網鏈接cudnn鏈接
2、選擇合適的cudnn,這里我們選擇最新版本的cudnn5.1。
3、由于這是一個壓縮文件,需要你進行解壓。 tar -zxvf xxx.tar
4、cd xxx/include #切換進入include路徑
5、sudo cp cudnn.h /usr/local/cuda/include/ #復制頭文件
6、cd xxx/lib64 #切換進入lib64目錄
7、sudo cp lib /usr/local/cuda/lib64/ #復制動態鏈接庫
8、cd /usr/local/cuda/lib64/
9、sudo rm -rf libcudnn.so libcudnn.so.5 #刪除原有動態文件
10、sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成軟銜接
11、sudo ldconfig
注意事項
[1] 由于個人能力有限,可能會出現一些錯誤,希望大家多多包涵。
[2] 該博客屬于本人原創,如果需要裝載,請聯系我,我會及時回復大家。郵箱:1575262785@qq.com
[3] 如果你在安裝的過程中遇到解決不了的問題,歡迎你提出問題,我們一起學習,一起進步。
[4] 本文業余時間承接本科畢設和各種個人項目,具體包括圖像處理(數據挖掘、機器學習和深度學習等)、matlba仿真、python算法和仿真等,需要的請加QQ:157526278,具體細節詳聊。
總結
以上是生活随笔為你收集整理的Linux16.04配置CUDA8.0+CUDNNV5.1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Github上传代码指南(Window版
- 下一篇: 盖茨向马斯克“泼冷水”:殖民火星完全浪费