<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
我們知道做深度學習離不開GPU,不過一直以來對GPU和CPU的差別,CUDA以及cuDNN都不是很瞭解,所以找了些資料整理下,希望不僅可以幫助自己理解,也能夠幫助到其他人理解。
先來講講CPU和GPU的關係和差別吧。截圖來自資料1(CUDA的官方檔案):
從上圖可以看出GPU(影象處理器,Graphics Processing Unit)和CPU(中央處理器,Central Processing Unit)在設計上的主要差異在於GPU有更多的運算單元(如圖中綠色的ALU),而Control和Cache單元不如CPU多,這是因為GPU在進行平行計算的時候每個運算單元都是執行相同的程式,而不需要太多的控制。Cache單元是用來做資料快取的,CPU可以通過Cache來減少存取主記憶體的次數,也就是減少記憶體延遲(memory latency)。GPU中Cache很小或者沒有,因為GPU可以通過平行計算的方式來減少記憶體延遲。因此CPU的Cahce設計主要是實現低延遲,Control主要是通用性,複雜的邏輯控制單元可以保證CPU高效分發任務和指令。所以CPU擅長邏輯控制,是序列計算,而GPU擅長高強度計算,是平行計算。打個比方,GPU就像成千上萬的苦力,每個人乾的都是類似的苦力活,相互之間沒有依賴,都是獨立的,簡單的人多力量大;CPU就像包工頭,雖然也能幹苦力的活,但是人少,所以一般負責任務分配,人員排程等工作。
可以看出GPU加速是通過大量執行緒並行實現的,因此對於不能高度並行化的工作而言,GPU就沒什麼效果了。而CPU則是序列操作,需要很強的通用性,主要起到統管和分配任務的作用。
————————————————————————-華麗的分割線——————————————————————-
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上執行,而且只有當要解決的計算問題是可以大量平行計算的時候才能發揮CUDA的作用。
接下來這段話摘抄自資料2。在 CUDA 的架構下,一個程式分為兩個部份:host 端和 device 端。Host 端是指在 CPU 上執行的部份,而 device 端則是在顯示晶片上執行的部份。Device 端的程式又稱為 “kernel”。通常 host 端程式會將資料準備好後,複製到顯示卡的記憶體中,再由顯示晶片執行 device 端程式,完成後再由 host 端程式將結果從顯示卡的記憶體中取回。
接下來這段話摘抄自資料2。在 CUDA 架構下,顯示晶片執行時的最小單位是thread。數個 thread 可以組成一個block。一個 block 中的 thread 能存取同一塊共用的記憶體,而且可以快速進行同步的動作。每一個 block 所能包含的 thread 數目是有限的。不過,執行相同程式的 block,可以組成grid。不同 block 中的 thread 無法存取同一個共用的記憶體,因此無法直接互通或進行同步。因此,不同 block 中的 thread 能合作的程度是比較低的。不過,利用這個模式,可以讓程式不用擔心顯示晶片實際上能同時執行的 thread 數目限制。例如,一個具有很少量執行單元的顯示晶片,可能會把各個 block 中的 thread 順序執行,而非同時執行。不同的 grid 則可以執行不同的程式(即 kernel)。
————————————————————————-華麗的分割線——————————————————————-
cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的針對深度神經網路的加速庫,是一個用於深層神經網路的GPU加速庫。如果你要用GPU訓練模型,cuDNN不是必須的,但是一般會採用這個加速庫。
補充:查詢版本命令
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理解內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45