- 首頁
- 行業(yè)新聞
- 新聞詳情
GPU超能力分析!為何它的算力如此之牛
發(fā)布日期:
2024-05-17 10:08:51
本文鏈接
http://m.etbxb.com//industry/1414.html
本文關(guān)鍵詞
顯卡的原理看似復(fù)雜,
其實(shí)一點(diǎn)也不簡單。
顯卡里面最重要的就是這塊GPU
GPU跟CPU類似,
都是通過成百上千個(gè)針腳連接到PCB電路板的。
但是就是這么一塊小芯片,
里面卻集成了超過100億個(gè)晶體管。
如果將芯片放大到納米級(jí)別,
可以看到里面是一座座的高科技迷宮。
每個(gè)任務(wù)被稱為一個(gè)線程。
最理想的方法是這100個(gè)任務(wù)
分配給100個(gè)核心一次處理。
問題是GPU處理的任務(wù)太龐大了。
如果需要處理100萬個(gè)線程,
就要使用100萬個(gè)核心,
這是不現(xiàn)實(shí)的。
那么我們就以線程為中心進(jìn)行處理。
這里有100萬個(gè)線程任務(wù),
對應(yīng)一個(gè)擁有1000個(gè)核心的GPU。
處理時(shí),
我們需要將100萬個(gè)線程
分別發(fā)送到核心的某個(gè)地方,
分配過程異常復(fù)雜。
為了方便,
現(xiàn)在我們將1000核心分成10個(gè)處理單元,
每個(gè)單元里面100個(gè)核心,
然后再進(jìn)行任務(wù)分配。
這樣雖然簡單了一些,
但是依舊還是很復(fù)雜。
可以這樣,
我們將100萬個(gè)線程任務(wù)也進(jìn)行分組,
每1000個(gè)任務(wù)一組,
一共1000組,
再進(jìn)行分配的話就簡單多了。
但是有個(gè)問題,
這里的每組任務(wù)里面有1000個(gè),
而每個(gè)處理單元里面只有100個(gè)核心,
還是不能一次處理掉每組任務(wù),
那怎么辦呢?
很簡單,將1000組任務(wù)再進(jìn)行分組,
每100個(gè)任務(wù)打包在一起分成十個(gè)包,
一個(gè)包對應(yīng)一個(gè)處理單元里面的100個(gè)核心,
從而一對一進(jìn)行處理。
GPU就是以“包”為單位來處理任務(wù)的。
目前市面上比較先進(jìn)的顯卡,
核心數(shù)量超過1萬個(gè)。
這些核心每128個(gè)分為一組,
核心組的任務(wù)也是每128個(gè)任務(wù)打包在一起,
所以一個(gè)包可以分配給一組核心來執(zhí)行。
那么問題來了,
當(dāng)核心執(zhí)行任務(wù)時(shí)需要從內(nèi)存中讀取數(shù)據(jù),
這會(huì)產(chǎn)生一定的延遲。
CPU解決延遲問題是
通過增加高速緩存來解決的:
當(dāng)核心組在執(zhí)行一個(gè)任務(wù)包時(shí),
如果出延延遲,它并不會(huì)等待,
而是立即執(zhí)行下一個(gè)任務(wù)包。
如果繼續(xù)出現(xiàn)延遲,
它又會(huì)立即跳到下一個(gè)。
也就是說GPU的核心會(huì)不停的進(jìn)行運(yùn)算。
只要有活干,任勞任怨。
GPU一開始主要是為了
加速圖形渲染而設(shè)計(jì)的,
但是它大規(guī)模處理問題的能力
剛好與如今高速發(fā)展的人工智能不謀而合。
人工智能一個(gè)重要技術(shù)就是深度學(xué)習(xí),
學(xué)習(xí)過程需要輸入大量的數(shù)據(jù),
然后對其進(jìn)行并行運(yùn)算得出預(yù)期結(jié)果值,
而這正是GPU所擅長的,
所以GPU常用來訓(xùn)練AI模型。
優(yōu)選機(jī)房