1. 程式人生 > >安裝CUDA和cuDNN

安裝CUDA和cuDNN

can power extras mdev play 優化 tde ora 邏輯

GPU和CPU區別

1,CPU主要用於處理通用邏輯,以及各種中斷事物

2,GPU主要用於計算密集型程序,可並行運作;

NVIDIA 的 GeForce 顯示卡系列采用 GPU 特性進行快速計算,渲染電腦畫面,比如大型遊戲,圖像處理等場景的畫面
深度學習的訓練過程中,包含了大量重復性的計算,利用 GPU 的計算和並行特性,可提高訓練的效率,具備 GPU 特性的電腦顯卡就有用武之地啦!

使用 GPU 的計算前需要做些準備,下面以 window 7 x64 系統為例子

一,檢查顯卡類型和計算能力
1,查看筆記本顯卡型號,以及計算能力
下載個 GPU 查看器, https://www.techpowerup.com/download/gpu-z/

我筆記本顯卡型號:NVIDIA GeForce 940M

2,確定對應顯卡 GPU 的計算能力
去 NVIDIA 官網查看 https://developer.nvidia.com/cuda-gpus

NVIDIA GeForce 940M Compute Capability 是 5.0

tensorflow 1.3 版本要求 GPU 計算能力必須在 3.0 以上
https://www.tensorflow.org/versions/r1.3/install/install_windows

GPU card with CUDA Compute Capability 3.0 or higher. See NVIDIA documentation for a list of supported GPU cards.

要是計算能力不支持,運行 tensorflow 會報錯

Ignoring visible gpu device (device: 0, name: GeForce GT 630M, pci bus id: 0000:01:00.0) with Cuda compute capability 2.1. The minimum required Cuda capability is 3.0.

二,安裝顯卡驅動, CUDA ,cuDNN

1,安裝顯卡驅動

顯卡一般都安裝好了,但可能會出現顯卡驅動版本跟 CUDA 不對應的問題
自己去 NVIDIA 官網下載驅動 http://www.nvidia.com/Download/index.aspx,或者使用驅動精靈

2,安裝 CUDA
CUDA的主要作用是鏈接 GPU 和 應用程序,方便用戶通過 CUDA 的 API 調度 GPU 進行計算

安裝說明地址:http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
選擇對應版本,window7 系統 64 位, tensorflow 1.3 當前使用 CUDA 8.0版本

安裝 cuda 的時候,會詢問是否安裝顯卡驅動,說明 cuda 安裝程序裏包含了的顯卡驅動;
建議先不要安裝 cuda 裏的顯卡驅動,待安裝完 cuda 後,執行例子程序,如果報錯再檢查顯卡驅動是否正確,避免覆蓋原來的顯卡驅動

安裝完後執行 nvcc -V 檢查

C:\Users\yunhuichen>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Mon_Jan__9_17:32:33_CST_2017
Cuda compilation tools, release 8.0, V8.0.60

運行例子

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\demo_suite>device
Query.exe
deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce 940M"
  CUDA Driver Version / Runtime Version          9.0 / 8.0
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 1024 MBytes (1073741824 bytes)
  ( 3) Multiprocessors, (128) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            980 MHz (0.98 GHz)
  Memory Clock rate:                             1001 Mhz
  Memory Bus Width:                              64-bit
  L2 Cache Size:                                 1048576 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536),
3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 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 1 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
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Mo
del)
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 4 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simu ltaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Versi
on = 8.0, NumDevs = 1, Device0 = GeForce 940M
Result = PASS

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\demo_suite>

至此已經安裝 cuda 成功
當然此過程可能會遇到以下問題

NVIDIA Geforce GTX 940M 設備是不可移動的,無法彈出或拔出

這是因為顯卡驅動和CUDA版本不對應,可試下安裝CUDA裏的顯卡驅動

3,安裝 cuDNN
cuDNN 是一個為了優化深度學習計算的類庫,它能將模型訓練的計算優化之後,再通過 CUDA 調用 GPU 進行運算
當然你也可直接使用 GUDA,而不通過 cuDNN ,但運算效率會低好多

cuDNN 下載地址:https://developer.nvidia.com/cudnn

選擇跟CUDA 8.0 對應的版本 cuDNN 6.1

其實就幾個 lib 文件,解壓出來把安裝路徑添加到 PATH 中;你也可以把所有 lib 文件復制到 CUDA 對應目錄下

安裝CUDA和cuDNN