轉(zhuǎn)載 一篇
背景
? 開發(fā)過程中需要用到GPU時(shí),通常在安裝配置GPU的環(huán)境過程中遇到問題;CUDA Toolkit和CUDNN版本的對(duì)應(yīng)關(guān)系;CUDA和電腦顯卡驅(qū)動(dòng)的版本的對(duì)應(yīng)關(guān)系;CUDA Toolkit、CUDNN、NCVV是什么呢?
舉個(gè)例子
安裝TensorFlow2.1過程中,想要使用到電腦的顯卡來進(jìn)行開發(fā),但是發(fā)現(xiàn)默認(rèn)需要CUDATOOLKIT=10.1,CUDNN=7.6,安裝好后發(fā)現(xiàn)無法正常使用GPU來運(yùn)行程序;發(fā)現(xiàn)CUDATOOLKIT和我們電腦顯卡驅(qū)動(dòng)的版本不支持。
備注:本文中介紹的內(nèi)容是基于NVIDAI的顯卡。
?認(rèn)識(shí)一下幾個(gè)概念
GPU(顯卡)
顯卡是我們平時(shí)說的GPU,現(xiàn)在大多數(shù)的電腦使用NVIDIA公司生產(chǎn)的顯卡;常見的型號(hào)有GTX950M,GTX1050TI,GTX1080等
CUDA Driver
這個(gè)是我們常說的顯卡驅(qū)動(dòng),比如電腦顯卡型號(hào)是GTX950M,顯卡驅(qū)動(dòng)的版本:445.87;
CUDA
? 是顯卡廠商N(yùn)VIDIA推出的運(yùn)算平臺(tái)。CUDA是一種由NVIDIA推出的通用并行計(jì)算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計(jì)算問題。CUDA英文全稱是Compute Unified Device Architecture。
有人說CUDA是一門編程語言,像C,C++,python 一樣,也有人說CUDA是API。
官方說:CUDA是一個(gè)并行計(jì)算平臺(tái)和編程模型,能夠使得使用GPU進(jìn)行通用計(jì)算變得簡(jiǎn)單和優(yōu)雅。
運(yùn)行CUDA應(yīng)用程序要求系統(tǒng)至少具有一個(gè)具有CUDA功能的GPU和與CUDA Toolkit兼容的驅(qū)動(dòng)程序。
CUDA Toolkit
? CUDA工具包的主要包含了CUDA-C和CUDA-C++編譯器、一些科學(xué)庫和實(shí)用程序庫、CUDA和library API的代碼示例、和一些CUDA開發(fā)工具。(通常在安裝CUDA Toolkit的時(shí)候會(huì)默認(rèn)安裝CUDA Driver;但是我們經(jīng)常只安裝CUDA Driver,沒有安裝CUDA Toolkit,因?yàn)橛袝r(shí)不一定用到CUDA Toolkit;比如我們的筆記本電腦,安裝個(gè)CUDA Driver就可正??匆曨l、辦公和玩游戲了)
詳細(xì)內(nèi)容可以到NVIDIA官方看看:CUDA 12.1 Release Notes
NVCC
其實(shí)就是CUDA的編譯器,可以從CUDA Toolkit的/bin目錄中獲取,類似于gcc就是c語言的編譯器。
CUDNN
?是用于深度神經(jīng)網(wǎng)絡(luò)的GPU加速庫;它強(qiáng)調(diào)性能、易用性和低內(nèi)存開銷??梢约傻礁呒?jí)別的機(jī)器學(xué)習(xí)框架中,如谷歌的Tensorflow、加州大學(xué)伯克利分校的流行caffe軟件。
CUDNN是基于CUDA的深度學(xué)習(xí)GPU加速庫,有了它才能在GPU上完成深度學(xué)習(xí)的計(jì)算;
CUDA這個(gè)平臺(tái)一開始并沒有安裝CUDNN庫,當(dāng)開發(fā)者們需要用到深度學(xué)習(xí)GPU加速時(shí)才安裝CUDNN庫,工作速度相較CPU快很多
CUDA Driver和CUDA Toolkit的對(duì)應(yīng)版本
?每個(gè)版本的CUDA Toolkit 都對(duì)應(yīng)一個(gè)最低版本的CUDA Driver,也就是說如果我們安裝的CUDA Driver版本比官方推薦的還低,那么很可能會(huì)無法正常運(yùn)行。
我們安裝的CUDA Driver即顯卡驅(qū)動(dòng)版本,可以高于CUDA Toolkit 指定的版本,是能正常使用的。
?
?比如:在安裝TensorFlow2.1過程中,需要安裝CUDATOOLKIT=10.1,
那么我們?cè)趙indows中的顯卡驅(qū)動(dòng)版本應(yīng)該大于等于418.96;在Linux中的顯卡驅(qū)動(dòng)版本應(yīng)該大于等于418.39。
所以電腦中的GTX950顯卡,安裝了445.87版本的顯卡驅(qū)動(dòng)(445.87>=418.39),是能安裝CUDATOOLKIT=10.1的。
CUDNN和CUDA Toolkit的對(duì)應(yīng)版本
CUDNN和CUDA Toolkit兩種之間的版本需要相互支持,下面圖中是部分的對(duì)應(yīng)關(guān)系:
從下圖中我們可以知道,如果目前電腦中安裝了CUDATOOLKIT=10.1,那么CUDNN的可選版本為7.6.4、7.6.3、7.6.2
?
?
比如:需要安裝TensorFlow2.1(使用GPU),要求我們只能安裝CUDATOOLKIT=10.1,那么我們就從7.6.4、7.6.3、7.6.2這三個(gè)版本中,選擇一個(gè)最新的7.6.4版本來安裝CUDNN。
從下圖中我們可以知道,如果目前電腦中安裝了CUDATOOLKIT=8.0,那么CUDNN的可選版本為7.1.4、7.1.3、7.0.5、6.0、5.1
比如,TensorFlow1.4(GPU版)中需要CUDNN=6.0;同時(shí)又符合CUDATOOLKIT=8.0的要求;于是就安裝CUDNN=6.0啦。
文章來源:http://www.zghlxwxcb.cn/news/detail-647758.html
?具體對(duì)應(yīng)版本建議大家到官網(wǎng)查下:cuDNN Archive | NVIDIA Developer文章來源地址http://www.zghlxwxcb.cn/news/detail-647758.html
到了這里,關(guān)于了解NVIDAI顯卡驅(qū)動(dòng)(包括:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!