欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深度學習之GPU,CUDA和cuDNN的理解

 更新時間:2023年02月13日 14:13:17   作者:AI之路  
Cuda和cudnn是支持NVIDIA支持GPU的兩個庫,分別用于高性能計算和深度神經網絡計算的支持,下面這篇文章主要給大家介紹了關于深度學習之GPU,CUDA和cuDNN的理解,需要的朋友可以參考下

我們知道做深度學習離不開GPU,不過一直以來對GPU和CPU的差別,CUDA以及cuDNN都不是很了解,所以找了些資料整理下,希望不僅可以幫助自己理解,也能夠幫助到其他人理解。

先來講講CPU和GPU的關系和差別吧。截圖來自資料1(CUDA的官方文檔):

從上圖可以看出GPU(圖像處理器,Graphics Processing Unit)和CPU(中央處理器,Central Processing Unit)在設計上的主要差異在于GPU有更多的運算單元(如圖中綠色的ALU),而Control和Cache單元不如CPU多,這是因為GPU在進行并行計算的時候每個運算單元都是執(zhí)行相同的程序,而不需要太多的控制。Cache單元是用來做數據緩存的,CPU可以通過Cache來減少存取主內存的次數,也就是減少內存延遲(memory latency)。GPU中Cache很小或者沒有,因為GPU可以通過并行計算的方式來減少內存延遲。因此CPU的Cahce設計主要是實現低延遲,Control主要是通用性,復雜的邏輯控制單元可以保證CPU高效分發(fā)任務和指令。所以CPU擅長邏輯控制,是串行計算,而GPU擅長高強度計算,是并行計算。打個比方,GPU就像成千上萬的苦力,每個人干的都是類似的苦力活,相互之間沒有依賴,都是獨立的,簡單的人多力量大;CPU就像包工頭,雖然也能干苦力的活,但是人少,所以一般負責任務分配,人員調度等工作。

可以看出GPU加速是通過大量線程并行實現的,因此對于不能高度并行化的工作而言,GPU就沒什么效果了。而CPU則是串行操作,需要很強的通用性,主要起到統(tǒng)管和分配任務的作用。

————————————————————————-華麗的分割線——————————————————————-

CUDA的官方文檔(參考資料1)是這么介紹CUDA的:a general purpose parallel computing platform and programming model that leverages the parallel compute engine in NVIDIA GPUs to solve many complex computational problems in a more efficient way than on a CPU.

換句話說CUDA是NVIDIA推出的用于自家GPU的并行計算框架,也就是說CUDA只能在NVIDIA的GPU上運行,而且只有當要解決的計算問題是可以大量并行計算的時候才能發(fā)揮CUDA的作用。

接下來這段話摘抄自資料2。在 CUDA 的架構下,一個程序分為兩個部份:host 端和 device 端。Host 端是指在 CPU 上執(zhí)行的部份,而 device 端則是在顯示芯片上執(zhí)行的部份。Device 端的程序又稱為 “kernel”。通常 host 端程序會將數據準備好后,復制到顯卡的內存中,再由顯示芯片執(zhí)行 device 端程序,完成后再由 host 端程序將結果從顯卡的內存中取回。

接下來這段話摘抄自資料2。在 CUDA 架構下,顯示芯片執(zhí)行時的最小單位是thread。數個 thread 可以組成一個block。一個 block 中的 thread 能存取同一塊共享的內存,而且可以快速進行同步的動作。每一個 block 所能包含的 thread 數目是有限的。不過,執(zhí)行相同程序的 block,可以組成grid。不同 block 中的 thread 無法存取同一個共享的內存,因此無法直接互通或進行同步。因此,不同 block 中的 thread 能合作的程度是比較低的。不過,利用這個模式,可以讓程序不用擔心顯示芯片實際上能同時執(zhí)行的 thread 數目限制。例如,一個具有很少量執(zhí)行單元的顯示芯片,可能會把各個 block 中的 thread 順序執(zhí)行,而非同時執(zhí)行。不同的 grid 則可以執(zhí)行不同的程序(即 kernel)。

————————————————————————-華麗的分割線——————————————————————-

cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的針對深度神經網絡的加速庫,是一個用于深層神經網絡的GPU加速庫。如果你要用GPU訓練模型,cuDNN不是必須的,但是一般會采用這個加速庫。

  • 參考資料1:https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#thread-hierarchy
  • 參考資料2:http://www.smallgui.com/wp-content/uploads/2016/04/深入淺出談CUDA.pdf

補充:查詢版本命令

ubuntu:

cuda 版本 
nvcc -V
cat /usr/local/cuda/version.txt

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

查看Nvidia GPU版本
nvidia-smi

//10s顯示一次
watch -n 10 nvidia-smi

nvidia-smi -l

到此這篇關于深度學習之GPU,CUDA和cuDNN的理解的文章就介紹到這了,更多相關GPU,CUDA和cuDNN理解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python-json校驗-jsonpath解析

    python-json校驗-jsonpath解析

    這篇文章主要介紹了python-json校驗-jsonpath,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python RC4加密操作示例【測試可用】

    python RC4加密操作示例【測試可用】

    這篇文章主要介紹了python RC4加密操作,結合實例形式分析了python實現RC4加密功能的具體操作步驟與相關問題解決方法,需要的朋友可以參考下
    2019-09-09
  • Python列表計數及插入實例

    Python列表計數及插入實例

    這篇文章主要介紹了Python列表計數及插入的用法,以實例形式對列表的計數與插入用法做了較為詳細的分析,需要的朋友可以參考下
    2014-12-12
  • Python實現的可可愛愛的小粽子詳解

    Python實現的可可愛愛的小粽子詳解

    我突發(fā)奇想做一個關于粽子的小游戲,基本原理:操控粽子吃掉愛心,即可增加分數,經過朋友game多測嘗試最終完成小游戲
    2022-06-06
  • python圖形用戶界面tkinter之標簽Label的使用說明

    python圖形用戶界面tkinter之標簽Label的使用說明

    這篇文章主要介紹了python圖形用戶界面tkinter之標簽Label的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 詳解利用OpenCV提取圖像中的矩形區(qū)域(PPT屏幕等)

    詳解利用OpenCV提取圖像中的矩形區(qū)域(PPT屏幕等)

    這篇文章主要介紹了詳解利用OpenCV提取圖像中的矩形區(qū)域(PPT屏幕等),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-07
  • 基于pytorch中的Sequential用法說明

    基于pytorch中的Sequential用法說明

    這篇文章主要介紹了基于pytorch中的Sequential用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 老生常談Python序列化和反序列化

    老生常談Python序列化和反序列化

    下面小編就為大家?guī)硪黄仙U凱ython序列化和反序列化。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • cv2.imread?和?cv2.imdecode?用法及區(qū)別

    cv2.imread?和?cv2.imdecode?用法及區(qū)別

    對于路徑中含有中文的圖像,直接用cv2.imread讀取會報錯,上次看到有大佬使用cv2.imdecode就可以正常讀取,有點好奇,所以今天來記錄下二者用法和區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • Python 第一步 hello world

    Python 第一步 hello world

    Python 第一步 hello world 入門學習。
    2009-09-09

最新評論