CPU 和 GPU
端午回來,發(fā)的第一篇文章,還在謀劃其他事情,大家共勉。
現(xiàn)在電腦這么普及,應該每個人都知道 CPU ,即使不懂電腦的人都能憋出大招告訴你電腦里面有一個 CPU,CPU 是中央處理器,是很多很多年積累下來的,因特爾公司發(fā)財?shù)挠H兒子啊。
有一些比較專業(yè)的人會蹦出 GPU,GPU 是干嘛用的?為什么有了 CPU 又出來一個 GPU?特別前幾年挖礦很流行,一些碼農(nóng)就衍生出電腦 GPU 來挖礦,這些年人工智能,神經(jīng)網(wǎng)絡(luò)算法流行也是離不開 GPU 的功勞。
CPU 設(shè)計的時候是為了滿足很強的通用性處理各種不同的數(shù)據(jù)類型,特別典型的就是浮點運算,這個需要消耗比較多的時鐘周期,不僅僅是數(shù)據(jù)運算,還有邏輯運算,基于這樣的需求,CPU 設(shè)計的內(nèi)部結(jié)構(gòu)非常復雜,這可以類比一個國家的皇帝,需要處理大臣們的奏折,也需要處理很多后宮的事情,計算機普及到后來,大家對于圖形顯示的要求越來越高,特別是 3D 建模這種事情,CPU 不能丟下自己的工作去干這種負荷高的工作,所以英偉達覺得可以有機可乘,就出現(xiàn)了 GPU。
GPU 設(shè)計出來的目的就比較單純,就好像我需要把一塊磚頭搬到 10 樓,不管你用一個皇帝來搬磚,還是很多小孩子當苦力還搬磚,都是需要從 1 樓走到 10 樓,CPU 不需要跟太多其他人交涉,他需要干的事情比較純粹,單一繁重。
GPU 和 CPU的對比圖
觀察顏色,綠色的是計算單元,橙紅色的是存儲單元,橙黃色的是控制單元。
網(wǎng)上有一個比喻用來比較 GPU 和 CPU ,我覺得非常貼切,100 個小學生和一個大學教授組成兩隊進行數(shù)學比賽,第一回合是兩隊分別完成 100 道四則運算題,比賽開始,第一回合教授還在寫的時候,小學生們已經(jīng)完成了答題,然后進行了第二回合,第二回合是兩隊分別完成 1 道高等數(shù)學題目,教授已經(jīng)完成了答題,100 個小學生們還在苦苦冥想。
上面只能當成一個笑話來看,GPU 和 CPU 負責不同的事情
GPU處理視覺元素:
例如著色器,效果,陰影,光線,紋理等、圖形卡確定一次可以顯示多少個多邊形、它還會顯著影響任何給定對象的分辨率有多高、GPU是游戲的過濾器、它處理發(fā)光效果,能力效果,光源等。
GPU 真實的意義在于有一天有一個電腦游戲狂熱粉覺得自己的界面顯示太丑了,沒有各種酷斃的感覺,然后 GPU 就出現(xiàn)了,專門用來出來這種吃力不討好的事情,你想要 3D,那我就給你 3D ,你想要挖礦,我就給你挖礦,等等。
CPU處理物理和邏輯元素:
CPU 是干嘛的?
我覺得可以說 CPU 是電腦的核心,沒有 CPU 就沒有計算機,就沒有操作系統(tǒng),就沒有你天天看著電腦玩游戲這回事,GPU 是輔助這個世界變得更好,沒有 CPU 就沒有電腦世界。
你可以說CPU是大腦,GPU是眼睛。你的大腦了解世界,它是如何運作的,物理學等等、當你的眼睛在創(chuàng)造圖像時,你會看到世界。
有一個老外,做了一個非常有意思的實驗來對比 GPU 和 CPU,我覺得非常有意思
神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)有一個學習的過程,我之前做 AI 音響的時候,有拿網(wǎng)上的一個算法庫來學習,使用的是公司的服務(wù)器,學習過程也需要 2 天,GPU 有一個特點是核比較多,可以用幾千個核來執(zhí)行上面的幾百條運算,速度肯定就快了,這也是 GPU 存在的最大意義了。
總結(jié)
- 上一篇: Linux 下的0 1 2特殊文件描述符
- 下一篇: MIPI白皮书