GPU与GPGPU
文章目錄
- 一、什么是GPU
- 1. GPU的由來
- 2. GPU和CPU的區(qū)別
- 3. GPU用于處理什么任務(wù)
- 二、什么是GPGPU
- 1. GPGPU的定義
- 2. GPGPU與GPU的區(qū)別
一、什么是GPU
1. GPU的由來
為了提高了顯示能力和顯示速度,對于圖像和圖形的相關(guān)運算專門開發(fā)了GPU(Graphics Processing Unit)。GPU使顯卡減少了對CPU的依賴,并進行部分原本CPU的工作。
2. GPU和CPU的區(qū)別
CPU需要很強的通用性來處理各種不同的數(shù)據(jù)類型,同時又要進行邏輯判斷從而引入了大量的分支跳轉(zhuǎn)和中斷的處理,這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復(fù)雜。而GPU面對的則是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計算環(huán)境。
GPU采用了數(shù)量眾多的計算單元和超長的流水線,但只有非常簡單的控制邏輯并省去了Cache。而CPU不僅被Cache占據(jù)了大量空間,而且還有有復(fù)雜的控制邏輯和諸多優(yōu)化電路,相比之下計算能力只是CPU很小的一部分。
下圖來自nVidia CUDA文檔:
3. GPU用于處理什么任務(wù)
計算密集型的程序
所謂計算密集型(Compute-intensive)的程序,就是其大部分運行時間花在了寄存器運算上,寄存器的速度和處理器的速度相當(dāng)。從寄存器讀寫數(shù)據(jù)幾乎沒有延時;讀內(nèi)存的延遲大概是幾百個時鐘周期;讀硬盤的速度即便是讀SSD也非常慢了。
易于并行的程序
GPU其實是一種SIMD(Single Instruction Multiple Data)架構(gòu),它有成百上千個核,每一個核在同一時間最好能做同樣的事情。
二、什么是GPGPU
1. GPGPU的定義
GPGPU (General Purpose GPU)即通用GPU,可以通俗的將GPGPU理解為一個輔助CPU的工具,它能夠幫助CPU進行非圖形相關(guān)程序的運算。
GPGPU架構(gòu)設(shè)計時,去掉了GPU為了圖形處理而設(shè)計的加速硬件單元,保留了GPU的SIMT架構(gòu)和通用計算單元。所以當(dāng)前基于GPU的圖形任務(wù)無法直接運行在GPGPU上,但對于科學(xué)計算,AI訓(xùn)練、推理任務(wù)(其實主要是矩陣運算)等通用計算類型的任務(wù)仍然保留了GPU的優(yōu)勢,即高效的搬運和運算有海量數(shù)據(jù)的重復(fù)性任務(wù)。
GPGPU目前主要用于例如物理計算、加密解密、科學(xué)計算以及比特幣等加密貨幣的生成。
2. GPGPU與GPU的區(qū)別
任務(wù)不同
GPGPU負責(zé)的是一些非圖形相關(guān)程序的運算,如加密、解密;而GPU負責(zé)的是圖形渲染、圖形計算的任務(wù)。
存在形式不同
GPGPU通常被集成到CPU中,而GPU則是作為一個單獨的模塊,也就是獨立顯卡核心或者主板集成顯卡核心。
以上內(nèi)容來源于網(wǎng)絡(luò)知識總結(jié),如有侵權(quán)請私信聯(lián)系立即刪除:)
總結(jié)
- 上一篇: jquery : 插件 jsgrid 范
- 下一篇: 魔兽世界 MPQ(MoPaQ) 文件相关