顯卡驅動與cuda、cudnn之間的關係

概述,需要注意以下幾個問題:

(1)NVIDIA的顯卡驅動程序和CUDA完全是兩個不同的概念哦!CUDA是NVIDIA推出的用於自家GPU的並行計算框架,也就是說CUDA只能在NVIDIA的GPU上運行,而且只有當要解決的計算問題是可以大量並行計算的時候才能發揮CUDA的作用。

CUDA的本質是一個工具包(ToolKit);但是二者雖然不一樣的。

顯卡驅動的安裝:

當我們使用一臺電腦的時候默認的已經安裝了NVIDIA的顯卡驅動,因爲沒有顯卡驅動根本用不了顯卡嘛,但是這個時候我們是沒有CUDA可以用的,我們可以更新我們的驅動,更新鏈接爲:

https://www.nvidia.com/Download/index.aspx?lang=en-us

在這個裏面可以根據自己的顯卡類型選擇最新的驅動程序。顯卡驅動程序當前大小大概500多M。

CUDA ToolKit的安裝:

CUDA的下載地址爲:https://developer.nvidia.com/cuda-downloads

我們可以選擇兩種安裝方式,一種是在線安裝(我還沒用過),一中離線安裝(我採用的)即本地安裝,

當我們選擇離線安裝,當我們選定相對應的版本之後,下載的時候發現這個地方的文件大小大概在2G左右,Linux系統下面我們選擇runfile(local) 完整安裝包從本地安裝,或者是選擇windows的本地安裝。CUDA Toolkit本地安裝包時內含特定版本Nvidia顯卡驅動的,所以只選擇下載CUDA Toolkit就足夠了,如果想安裝其他版本的顯卡驅動就下載相應版本即可。

所以,NVIDIA顯卡驅動和CUDA工具包本身是不具有捆綁關係的,也不是一一對應的關係,只不過是離線安裝的CUDA工具包會默認攜帶與之匹配的最新的驅動程序。

注意事項:NVIDIA的顯卡驅動器與CUDA並不是一一對應的哦,CUDA本質上只是一個工具包而已,所以我可以在同一個設備上安裝很多個不同版本的CUDA工具包,比如我的電腦上同事安裝了 CUDA 9.0、CUDA 9.2、CUDA 10.0三個版本。一般情況下,我只需要安裝最新版本的顯卡驅動,然後根據自己的選擇選擇不同CUDA工具包就可以了,但是由於使用離線的CUDA總是會捆綁CUDA和驅動程序,所以在使用多個CUDA的時候就不要選擇離線安裝的CUDA了,否則每次都會安裝不同的顯卡驅動,這不太好,我們直接安裝一個最新版的顯卡驅動,然後在線安裝不同版本的CUDA即可。

總結:CUDA和顯卡驅動是沒有一一對應的。

(2)cuDNN是一個SDK,是一個專門用於神經網絡的加速包,注意,它跟我們的CUDA沒有一一對應的關係,即每一個版本的CUDA可能有好幾個版本的cuDNN與之對應,但一般有一個最新版本的cuDNN版本與CUDA對應更好。

總結:cuDNN與CUDA沒有一一對應的關係

(3)CUDA 工具包附帶的  CUPTI

 CUPTI,即CUDA Profiling Tools Interface (CUPTI)。在CUDA分析工具接口(CUPTI)能夠分析和跟蹤靶向CUDA應用程序的工具的創建。CUPTI提供以下API:

Activity API,
Callback API,
事件API,
Metric API,和
Profiler API。
使用這些API,您可以開發分析工具,深入瞭解CUDA應用程序的CPU和GPU行爲。CUPTI作爲CUDA支持的所有平臺上的動態庫提供。請參閱CUPTI文檔。

一、tensorflow各個版本需要的CUDA版本以及Cudnn的對應關係
1.1 對應表格

相應的網址爲:

https://www.tensorflow.org/install/source#common_installation_problems

https://www.tensorflow.org/install/source_windows


現在NVIDIA的顯卡驅動程序已經更新到 10.1版本,最新的支持CUDA 10.1版本的cuDNN爲7.5.0

1.2 CUDA的命名規則

下面以幾個例子來說

(1)CUDA 9.2

CUDA  9.2.148

(2)CUDA 10.0

CUDA 10.0.130.411.31(後面的411.31對應更具體的版本號)

(3)CUDA 10.1

CUDA 10.1.105.418.96(後面的418.96對應更具體的版本號)

更多詳細的請參考如下官網:

https://developer.nvidia.com/cuda-toolkit-archive

1.3 如何查看自己所安裝的CUDA的版本:

(1)直接在NVIDIA的控制面板裏面查看NVCUDA.DLL的版本。

注意:這裏網上有很多說法是錯誤的,這個版本並不能絕對說明自己所安裝的CUDA工具包一定這個版本

(2)通過命令查看:nvcc -V 或者是nvcc --version都可以,但前提是添加了環境變量

(3)直接通過文件查看,這裏分爲Linux和windows兩種情況

在windows平臺下,可以直接進入CUDA的安裝目錄,比如我的是:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2   裏面有一個version.txt的文本文件,直接打開即可,也可以使用命令,即

首先進入到安裝目錄,然後執行:type version.txt 即可查看

在Linux平臺下:

同windows類似,進入到安裝目錄,然後執行  cat version.txt 命令

1.4 如何查看自己的cuDNN的版本

因爲cuDNN本質上就是一個C語言的H頭文件,

(1)在windows平臺下:

直接進入安裝目錄:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include  之下,然後找到

cudnn.h 的頭文件,直接到開查看,在最開始的部分會有如下定義:

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
 
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

即7500,也就是cudnn的版本爲7.5.0版本;

(2)在Linux下當然也可以直接查看,但是通過命令更簡單,進入到安裝目錄,執行如下命令:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 

 即可查詢

即5005,即5.0.5版本的cudnn。

 二、CUDA與相對應的Cudnn對應關係

Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0

Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.2

Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.0

Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 10.0

Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.2

Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.0

Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0

Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.2

Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.0

Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 10.0

Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 9.0

Download cuDNN v7.2.1 (August 7, 2018), for CUDA 9.2

Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.2

Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0

三、NVIDIA顯卡以及對應的顯卡驅動的對應關係
由於NVIDIA存在多個系列的顯卡類型,把這裏僅僅顯示出GeForce系列的顯卡以及各個顯卡的計算能力(compute capability),詳情可以參考官網鏈接:

https://developer.nvidia.com/cuda-gpus

(1)GeForce Desktop Products

(2)GeForce Notebook Products(筆記本電腦)

 

發佈了11 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章