主題二:GPU和CPU芯片誰更復雜
1.?前言
在20世紀80年代,由于傳統(tǒng)的CPU沒有專門為圖形處理優(yōu)化的結構,所以在圖形處理方面表現(xiàn)很弱。但是隨著計算機的普及,游戲圖形的不斷進化,人們對圖形的需求越來越高,為了滿足游戲行業(yè)的高性能需求,于是在這個時期就誕生了GPU。



2.展開講解
應用場景
GPU具有高度并行特征,能夠為工作負載提供加速。GPU中的ALU具有較多的浮點運算單元,能夠大量執(zhí)行數(shù)學計算,加上GPU的寄存器的速度和處理器的速度也很快,從寄存器讀寫數(shù)據(jù)數(shù)據(jù)沒有延時。
所以能夠滿足計算密集型應用的要求,適合深度學習和人工智能推理、科學計算、數(shù)值計算等領域。

CPU傾向于程序控制、順序執(zhí)行,通常有多個處理核心、高速緩存層次和復雜的指令集體系結構,適合通用計算和廣泛的應用領域。

CPU芯片包含的晶體管數(shù)量(舉例)
我們這里拿NVDIA H100和AMD EPYC? 9754舉例:
從晶體管數(shù)量來看,頂級的GPU通常包含更多的晶體管。

NVDIA H100:大約有800億個晶體管


AMD EPYC? 9754:大約有820億個晶體管


兩者的架構設計目標不是一樣的。從設計角度來說,CPU的架構比GPU的架構復雜。CPU需要很強的通用性來處理各種不同的數(shù)據(jù)類型,同時又要邏輯判斷又會引入大量的分支跳轉(zhuǎn)和中斷的處理,這就使得 CPU的內(nèi)部結構很復雜。


GPU面對的是類型高度統(tǒng)一的、相互依賴的大規(guī)模數(shù)據(jù),頂級的GPU可能在硬件規(guī)模上更大,而頂級的CPU在架構和設計上可能更復雜。


GPU架構
一個CPU通常包含控制單元、算數(shù)邏輯單元、寄存器和數(shù)據(jù)緩存及總線5個組件,組件之間相互配合,相互執(zhí)行各種各樣的任務。

1.并行架構
GPU采用了并行架構,能夠同時執(zhí)行多個計算任務,能夠?qū)崿F(xiàn)高效的并行計算。

2.多線程
能夠提供了多核并行計算的基礎結構,且核心數(shù)非常多,可以支撐大量數(shù)據(jù)的并行計算,處理神經(jīng)網(wǎng)絡數(shù)據(jù)遠遠高效于CPU。

3.?浮點運算能力高
GPU的控制相對簡單,且不需要很大的Cache,大部分晶體管可被用于各類專用電路和流水線,計算速度因此大增,擁有強大的浮點運算能力。

4.?響應方式
GPU響應方式采用的是批處理機制,就是任務先排好隊,挨個挨個的處理。

CPU架構

1.浮點計算
CPU是第多才多藝的,它除了負責整形運算,還負責像媒體解碼、硬件解碼這種指令集,需要控制和負責的事情比較多,CPU工作主要是順序執(zhí)行,浮點計算能力沒有GPU的強。

2.響應方式
CPU要求的是實時響應,對單任務處理的速度要求很高。

3.小結
GPU芯片和CPU芯片沒有絕對的誰更強,誰更弱的說法,它們在不同的領域和不同的應用上,都是王者,大家根據(jù)自己的需求進行挑選,適合自己的就是最好的。如果有什么不了解的地方,歡迎私信我們,一起來探討。
?