近幾個(gè)月,幾乎每個(gè)行業(yè)的小伙伴都了解到了ChatGPT的可怕能力。你知道么,ChatGPT之所以如此厲害,是因?yàn)樗玫搅藥兹f(wàn)張NVIDA Tesla A100顯卡做AI推理和圖形計(jì)算。
本文就簡(jiǎn)單分享下GPU的相關(guān)內(nèi)容,歡迎閱讀。
GPU是什么?
GPU的英文全稱Graphics Processing Unit,圖形處理單元。
說直白一點(diǎn):GPU是一款專門的圖形處理芯片,做圖形渲染、數(shù)值分析、金融分析、密碼破解,以及其他數(shù)學(xué)計(jì)算與幾何運(yùn)算的。GPU可以在PC、工作站、游戲主機(jī)、手機(jī)、平板等多種智能終端設(shè)備上運(yùn)行。
GPU和顯卡的關(guān)系,就像是CPU和主板的關(guān)系。前者是顯卡的心臟,后者是主板的心臟。有些小伙伴會(huì)把GPU和顯卡當(dāng)成一個(gè)東西,其實(shí)還有些差別的,顯卡不僅包括GPU,還有一些顯存、VRM穩(wěn)壓模塊、MRAM芯片、總線、風(fēng)扇、外圍設(shè)備接口等等。
GPU和CPU誰(shuí)最強(qiáng)呢?
這個(gè)其實(shí)不好說,好點(diǎn)的GPU內(nèi)部的晶體管數(shù)量可以超過CPU,CPU的強(qiáng)項(xiàng)是做邏輯運(yùn)算,GPU的強(qiáng)項(xiàng)是做數(shù)學(xué)運(yùn)算和圖形渲染。這就ChatGPT用大量高性能顯卡做AI推理的原因。
接下來,我們做個(gè)簡(jiǎn)單的對(duì)比。
結(jié)構(gòu)組成不同
CPU和GPU都是運(yùn)算的處理器,在架構(gòu)組成上都包括3個(gè)部分:運(yùn)算單元ALU、控制單元Control和緩存單元Cache。
但是,三者的組成比例卻相差很大。
在CPU中緩存單元大概占50%,控制單元25%,運(yùn)算單元25%;
在GPU中緩存單元大概占5%,控制單元5%,運(yùn)算單元90%。
結(jié)構(gòu)組成上的巨大差異說明:CPU的運(yùn)算能力更加均衡,但是不適合做大量的運(yùn)算;GPU更適合做大量運(yùn)算。
這倒不是說GPU更牛X,實(shí)際上GPU更像是一大群工廠流水線上的工人,適合做大量的簡(jiǎn)單運(yùn)算,很復(fù)雜的搞不了。但是簡(jiǎn)單的事情做得非???,比CPU要快得多。
相比GPU,CPU更像是技術(shù)專家,可以做復(fù)雜的運(yùn)算,比如邏輯運(yùn)算、響應(yīng)用戶請(qǐng)求、網(wǎng)絡(luò)通信等。但是因?yàn)锳LU占比較少、內(nèi)核少,所以適合做相對(duì)少量的復(fù)雜運(yùn)算。
在CPU里面,大概50%是緩存單元,并且是四級(jí)緩存結(jié)構(gòu);而在GPU中,緩存是一級(jí)或者二級(jí)的。
CPU性能更加注重線程的性能,在控制部分做的事情較多,這樣做就是為了確??刂浦噶畈荒苤袛?,在浮點(diǎn)計(jì)算上功耗少。
相較于CPU,GPU的結(jié)構(gòu)更為簡(jiǎn)單,基本上它也只做單精度或雙精度浮點(diǎn)運(yùn)算。GPU的運(yùn)算速度更快,吞吐量也更高。
CPU基本上是實(shí)時(shí)響應(yīng),采用多級(jí)緩存來保障多個(gè)任務(wù)的響應(yīng)速度。
GPU往往采用的是批處理的機(jī)制,即:任務(wù)先排好隊(duì),挨個(gè)處理。
GPU對(duì)于圖形處理
我們假設(shè)在實(shí)時(shí)渲染中,一幀1080*720P的圖片,那么這張圖就有大概777600個(gè)像素點(diǎn)。如果按照最基本的24幀/秒的幀率計(jì)算。1秒鐘就要求計(jì)算機(jī)處理18662400個(gè),即:1866.24萬(wàn)個(gè)像素點(diǎn)。
這還是高清的情況下,如果是1090*1080、2K、4K甚至8K的視頻渲染,可想而知,這個(gè)計(jì)算量是何其巨大。尤其是在像游戲這樣的實(shí)時(shí)渲染場(chǎng)景下,顯然僅僅依靠CPU渲染是會(huì)超時(shí)的。
實(shí)際上,在屏幕中顯示的三維物體都要經(jīng)過多重的坐標(biāo)變換,并且物體的表面會(huì)受到環(huán)境中各種光線的影響,呈現(xiàn)不同的顏色和陰影。這就包括了光線的漫射、折射、透射、散射等。
接下來,我們以英偉達(dá)NVIDIA RTX3090 為例,看下GPU是如何進(jìn)行渲染的。
RTX3090的流式多處理器有10496個(gè),每個(gè)內(nèi)核都有具備整數(shù)運(yùn)算和浮點(diǎn)運(yùn)算的部分,還有用于在操作數(shù)中排隊(duì)和收集結(jié)果的部分。
所謂流式多處理器可以認(rèn)為是一個(gè)獨(dú)立的任務(wù)處理單元,也可以認(rèn)為一顆GPU包含了10496個(gè)CPU同時(shí)處理各個(gè)圖片處理任務(wù)。
我們就可以通過算法和程序,對(duì)1秒鐘18662400個(gè)像素點(diǎn)的整體任務(wù)進(jìn)行切割分片,讓10496顆處理器并行計(jì)算。
這樣的話,每個(gè)處理器負(fù)責(zé)大概每秒處理18662400/10496,即1778個(gè)像素點(diǎn)的渲染任務(wù)就行了。
如下圖所示,在GPU中會(huì)劃分為多個(gè)流式處理區(qū),每個(gè)處理區(qū)包含數(shù)百個(gè)內(nèi)核,每個(gè)內(nèi)核相當(dāng)于一顆簡(jiǎn)化版的CPU,具備整數(shù)運(yùn)算和浮點(diǎn)運(yùn)算的功能,以及排隊(duì)和結(jié)果收集功能。
注意,除了流處理器CUDA以外,影響GPU性能的還有
緩存不同
浮點(diǎn)運(yùn)算方式不同
響應(yīng)方式不同
核心頻率:頻率越高,性能越強(qiáng)、功耗也越高。
顯示位寬:?jiǎn)挝皇莃it,位寬決定了顯卡同時(shí)可以處理的數(shù)據(jù)量,越大越好。
顯存容量:顯存容量越大,代表能緩存的數(shù)據(jù)就越多。
顯存頻率:?jiǎn)挝皇荕Hz或bps,顯存頻率越高,圖形數(shù)據(jù)傳輸速度就越快。
總結(jié)
一言以蔽之,GPU不管是處理圖形渲染、數(shù)值分析,還是處理AI推理。底層邏輯都是將極為繁重的數(shù)學(xué)進(jìn)行任務(wù)拆解,化繁為簡(jiǎn)。
然后,利用GPU多流處理器的機(jī)制,將大量的運(yùn)算拆解為一個(gè)個(gè)小的、簡(jiǎn)單的運(yùn)算,并行處理。我們也可以認(rèn)為一個(gè)GPU就是一個(gè)集群,里面每個(gè)流處理器都是一顆CPU,這樣就容易理解了。
以上是關(guān)于GPU概念、工作原理的簡(jiǎn)要介紹。說是簡(jiǎn)單,其實(shí)在圖形處理方面,還有很多深層次的處理邏輯沒有展開,比如像素位置變換、三角原理等等。感興趣的小伙伴可以深入研究下。
審核編輯 :李倩
-
gpu
+關(guān)注
關(guān)注
27文章
4639瀏覽量
128474 -
主板
+關(guān)注
關(guān)注
53文章
1811瀏覽量
70250 -
顯卡
+關(guān)注
關(guān)注
16文章
2409瀏覽量
67280
原文標(biāo)題:總結(jié)
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論