中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
CPU、GPU、NPU、FPGA等芯片架構(gòu)特點分析

1.  概述

隨著人工智能的熱潮和AI算法的廣泛應(yīng)用,深度學(xué)習(xí)已成為當(dāng)前AI研究的重點,在自動駕駛領(lǐng)域,環(huán)境感知、傳感器融合、控制決策等等都會多少涉及到深度學(xué)習(xí),而自動駕駛性能的優(yōu)劣直接和AI算法相關(guān),說白了就是深度學(xué)習(xí)算法的優(yōu)劣。要想在面對海量數(shù)據(jù)的并行運算的同時做到高效、可靠,那就意味著承載AI算法的計算平臺需要提供足夠的性能加速,也就是AI芯片的算力要足夠用,同時考慮其他因素,功耗還不能超標,能效比越高越好。在AI芯片領(lǐng)域,可供選擇的,首先是需要一個CPU或者ARM內(nèi)核來執(zhí)行調(diào)度處理,然后大量的并行計算靠GPU、FPGA或者ASIC來完成,而ASIC里面有多種架構(gòu),谷歌的TPU、地平線BPU、寒武紀和華為都推出的NPU等。

之前看過一篇文章,關(guān)于GPU等AI芯片如何處理深度學(xué)習(xí)的,簡單整理一下加深記憶。

CPU和GPU都屬于通用芯片,不過GPU在近幾年專門針對AI算法加強了并行計算單元,因此除CPU外,GPU、NPU、FPGA等芯片作為AI算法的硬件加速器在不同的應(yīng)用場景和深度學(xué)習(xí)算法中發(fā)揮著各自的優(yōu)勢,且聽一一道來。

在自動駕駛算法中,感知算法是作為一切自動駕駛控制處理的基礎(chǔ),環(huán)境感知中主要是靠攝像頭和激光雷達,而且以攝像頭視覺處理居多,因此以攝像頭視覺深度學(xué)習(xí)算法中的人臉識別為例,其基本處理流程及對應(yīng)功能模塊所需的算力需求分布如下:

視覺算法中,先是攝像頭獲取圖像,然后經(jīng)過CPU或GPU進行預(yù)處理,也就是基本的判斷識別和任務(wù)分配,然后就需要進行大量的數(shù)據(jù)計算分析,這時候GPU、NPU或者FPGA等AI芯片開始派上用場。之所以會這樣,這就涉及到了作為通用芯片CPU和AI計算芯片GPU等的原理架構(gòu)方面的區(qū)別了。

2.  CPU和GPU的原理/架構(gòu)對比

CPU(CentralProcessing Unit)中央處理器,是一塊超大規(guī)模的集成電路,主要邏輯架構(gòu)包括控制單元Control,運算單元ALU和高速緩沖存儲器(Cache)及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。簡單說,就是計算單元、控制單元和存儲單元。

架構(gòu)圖如下所示:

CPU遵循的是馮·諾依曼架構(gòu),其核心是存儲程序/數(shù)據(jù)、串行順序執(zhí)行。因此CPU的架構(gòu)中需要大量的空間去放置存儲單元(Cache)和控制單元(Control),相比之下計算單元(ALU)只占據(jù)了很小的一部分,所以CPU在進行大規(guī)模并行計算方面受到限制,相對而言更擅長于處理邏輯控制。

CPU無法做到大量數(shù)據(jù)并行計算的能力,但GPU可以。

GPU(GraphicsProcessing Unit),即圖形處理器,是一種由大量運算單元組成的大規(guī)模并行計算架構(gòu),早先由CPU中分出來專門用于處理圖像并行計算數(shù)據(jù),專為同時處理多重并行計算任務(wù)而設(shè)計。

GPU中也包含基本的計算單元、控制單元和存儲單元,但GPU的架構(gòu)與CPU有很大不同,其架構(gòu)圖如下所示。

與CPU相比,CPU芯片空間的不到20%是ALU,而GPU芯片空間的80%以上是ALU。即GPU擁有更多的ALU用于數(shù)據(jù)并行處理。這就是為什么GPU可以具備強大的并行計算能力的原因。

從硬件架構(gòu)分析來看,CPU和GPU似乎很像,都有內(nèi)存、Cache、ALU、CU,都有著很多的核心,但是CPU的核心占比比較重,相對計算單元ALU很少,可以用來處理非常復(fù)雜的控制邏輯,預(yù)測分支、亂序執(zhí)行、多級流水任務(wù)等等。相對而言GPU的核心就是比較輕,用于優(yōu)化具有簡單控制邏輯的數(shù)據(jù)并行任務(wù),注重并行程序的吞吐量。

簡單來說就是CPU的核心擅長完成多重復(fù)雜任務(wù),重在邏輯,重在串行程序;GPU的核心擅長完成具有簡單的控制邏輯的任務(wù),重在計算,重在并行。

再來看一張NVIDIA公開的關(guān)于GPU的架構(gòu)圖

上圖NVIDIAGPU擁有4個SM(streaming multiprocessor),每個SM有4*8=32個Core,一共有4*4*8=128個Core。再對比一下CPU的Haswell的Core微架構(gòu)圖,可以看到,其有20多種“執(zhí)行單元”(ExecutionUnits),如ALU、FMA、FP add和FP mul等。每個“執(zhí)行單元”用于處理不同的指令以 FP mul“執(zhí)行單元為例”,一個CPU的Core中有2個,六核心的CPU有12個。所以在執(zhí)行單元方面,128:12。

(僅做參考,此處GPU的Core并不可以和CPU結(jié)構(gòu)圖中的Core對等,它只能相當(dāng)于CPU微架構(gòu)中的一個“執(zhí)行單元”。)

關(guān)于CPU和GPU可以比喻成:CPU是一個擁有多種功能的優(yōu)秀領(lǐng)導(dǎo)者,其的強項在于“調(diào)度”而非純粹的計算;而GPU則可以被看成一個接受CPU調(diào)度的“擁有大量計算能力”的員工。

總結(jié)GPU具有如下特點:

1)  多線程,提供了多核并行計算的基礎(chǔ)結(jié)構(gòu),且核心數(shù)非常多,可以支撐大量數(shù)據(jù)的并行計算,處理神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)遠遠高效于CPU。

2)  擁有更高的訪存速度。

3)  更高的浮點運算能力。

因此,GPU比CPU更適合深度學(xué)習(xí)中的大量訓(xùn)練數(shù)據(jù)、大量矩陣、卷積運算。

GPU雖然在并行計算能力上盡顯優(yōu)勢,但并不能單獨工作,需要CPU的協(xié)同處理,對于神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建和數(shù)據(jù)流的傳遞還是在CPU上進行。

但是GPU也有天生缺陷,那就是功耗高,體積大,價格貴。

性能越高的GPU體積越大,功耗越高,價格也昂貴,對于一些小型設(shè)備、移動設(shè)備來說將無法使用。

因此,一種體積小、功耗低、計算性能高、計算效率高的ASIC專用芯片NPU誕生了。

3.  NPU原理和AI計算優(yōu)勢

NPU (NeuralNetworks Process Units)神經(jīng)網(wǎng)絡(luò)處理單元。NPU工作原理是在電路層模擬人類神經(jīng)元和突觸,并且用深度學(xué)習(xí)指令集直接處理大規(guī)模的神經(jīng)元和突觸,一條指令完成一組神經(jīng)元的處理。相比于CPU和GPU,NPU通過突出權(quán)重實現(xiàn)存儲和計算一體化,從而提高運行效率。

國內(nèi)寒武紀是最早研究NPU的企業(yè),并且華為麒麟970曾采用寒武紀的NPU架構(gòu),不過從2018年開始華為發(fā)布自研昇騰芯片專為達芬奇架構(gòu)。

NPU是模仿生物神經(jīng)網(wǎng)絡(luò)而構(gòu)建的,CPU、GPU處理器需要用數(shù)千條指令完成的神經(jīng)元處理,NPU只要一條或幾條就能完成,因此在深度學(xué)習(xí)的處理效率方面優(yōu)勢明顯。

據(jù)說,同等功耗下NPU 的性能是 GPU 的 118 倍。(數(shù)據(jù)來源網(wǎng)絡(luò))

與GPU一樣,NPU同樣需要CPU的協(xié)同處理才能完成特定的任務(wù)。

說道這里提一下手機芯片,作為移動端的專用SoC,內(nèi)部集成了CPU、GPU和NPU。

以麒麟990 5G版為例說明,在CPU方面共有8核心,分別是兩顆2.86GHz的A76架構(gòu)大核,兩顆2.36GHz的A76架構(gòu)中核以及四顆1.95GHz的A55架構(gòu)小核。在GPU方面,則是采用了16核的Mali-G76 GPU,而在NPU方面,集成2顆大核和一顆小核,采用的是華為自研達芬奇架構(gòu)的NPU。

其中CPU負責(zé)手機應(yīng)用流暢切換、GPU支持游戲畫面快速加載,而NPU(神經(jīng)網(wǎng)絡(luò)處理器)就專門負責(zé)實現(xiàn)AI運算和AI應(yīng)用的實現(xiàn)。也就是說CPU是負責(zé)計算和整體協(xié)調(diào)的,而GPU是負責(zé)和圖像有關(guān)的部分,NPU負責(zé)和AI有關(guān)的部分。其工作流程則是,任何工作都要先通過CPU,CPU再根據(jù)這一塊的工作的性質(zhì)來決定分配給誰。如果是圖形方面的計算,就會分配給GPU,如果是AI方面的計算需求,就分配給NPU。

本文借用一下華為麒麟官方發(fā)布的《看懂芯片原來這么簡單》系列漫畫介紹華為自研達芬奇架構(gòu)NPU,相比傳統(tǒng)標量、矢量運算模式,華為自研架構(gòu)NPU采用3D Cube針對矩陣運算做加速,因此,單位時間計算的數(shù)據(jù)量更大,單位功耗下的AI算力也更強,相對傳統(tǒng)的CPU和GPU實現(xiàn)數(shù)量級提升,實現(xiàn)更優(yōu)能效。

由此可以看出,在手機SOC中,CPU是至關(guān)重要的部分,同樣在自動駕駛行業(yè)處理深度學(xué)習(xí)AI算法方面,GPU和NPU都需要和CPU協(xié)同才能發(fā)揮其性能優(yōu)勢。

4.  CPU如何輔助GPU實現(xiàn)加速

GPU當(dāng)前只是單純的并行矩陣的乘法和加法運算,對于神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建和數(shù)據(jù)流的傳遞還是在CPU上進行。

CPU加載權(quán)重數(shù)據(jù),按照代碼構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,將每層的矩陣運算通過CUDA或OpenCL等類庫接口傳送到GPU上實現(xiàn)并行計算,輸出結(jié)果;CPU接著調(diào)度下層神經(jīng)元組矩陣數(shù)據(jù)計算,直至神經(jīng)網(wǎng)絡(luò)輸出層計算完成,得到最終結(jié)果。

CPU 與GPU的交互流程:

1)  獲取GPU信息,配置GPU id

2)  加載神經(jīng)元參數(shù)到GPU

3)  GPU加速神經(jīng)網(wǎng)絡(luò)計算

4)  接收GPU計算結(jié)果

5.  CPU如何輔助NPU實現(xiàn)加速

NPU與GPU加速不同,主要體現(xiàn)為每層神經(jīng)元計算結(jié)果不用輸出到主內(nèi)存,而是按照神經(jīng)網(wǎng)絡(luò)的連接傳遞到下層神經(jīng)元繼續(xù)計算,因此其在運算性能和功耗上都有很大的提升。

CPU將編譯好的神經(jīng)網(wǎng)絡(luò)模型文件和權(quán)重文件交由專用芯片加載,完成硬件編程。

CPU在整個運行過程中,主要是實現(xiàn)數(shù)據(jù)的加載和業(yè)務(wù)流程的控制,其交互流程為:

1)  打開NPU專用芯片設(shè)備

2)  傳入模型文件,得到模型task

3)  獲取task的輸入輸出信息

4)  拷貝輸入數(shù)據(jù)到模型內(nèi)存中

5)  運行模型,得到輸出數(shù)據(jù)

除NPU外,在功耗及計算能力上有一拼的還有FPGA。

6.  FPGA原理和AI計算優(yōu)勢

說完了GPU、NPU以及他們的領(lǐng)導(dǎo)CPU,再來看看另一個火熱芯片F(xiàn)PGA。

FPGA(Field-Programmable Gate Array)稱為現(xiàn)場可編程門陣列,用戶可以根據(jù)自身的需求進行重復(fù)編程。與 CPU、GPU 相比,具有性能高、功耗低、可硬件編程的特點。

FPGA基本原理是在芯片內(nèi)集成大量的數(shù)字電路基本門電路以及存儲器,而用戶可以通過燒入FPGA 配置文件來定義這些門電路以及存儲器之間的連線。這種燒入不是一次性的,可重復(fù)編寫定義,重復(fù)配置。

FPGA的內(nèi)部結(jié)構(gòu)如下圖所示:

FPGA的編程邏輯塊(Programable Logic Blocks)中包含很多功能單元,由LUT(Look-up Table)、觸發(fā)器組成。FPGA是直接通過這些門電路來實現(xiàn)用戶的算法,沒有通過指令系統(tǒng)的翻譯,執(zhí)行效率更高。

對比一下CPU/GPU/NPU/FPGA各自的特點

7.  各芯片架構(gòu)特點總結(jié)

CPU

70%晶體管用來構(gòu)建Cache,還有一部分控制單元,計算單元少,適合邏輯控制運算。

GPU

是單指令、多數(shù)據(jù)處理,晶體管大部分構(gòu)建計算單元,運算復(fù)雜度低,適合大規(guī)模并行計算。主要應(yīng)用于大數(shù)據(jù)、后臺服務(wù)器、圖像處理。GPU善于處理圖像領(lǐng)域的運算加速。但GPU無法單獨工作,必須由CPU進行控制調(diào)用才能工作。CPU可單獨作用,處理復(fù)雜的邏輯運算和不同的數(shù)據(jù)類型,但當(dāng)需要大量的處理類型統(tǒng)一的數(shù)據(jù)時,則可調(diào)用GPU進行并行計算。

NPU

NPU在電路層模擬神經(jīng)元,通過突觸權(quán)重實現(xiàn)存儲和計算一體化,一條指令完成一組神經(jīng)元的處理,提高運行效率。主要應(yīng)用于通信領(lǐng)域、大數(shù)據(jù)、圖像處理。NPU作為專用定制芯片ASIC的一種,是為實現(xiàn)特定要求而定制的芯片。除了不能擴展以外,在功耗、可靠性、體積方面都有優(yōu)勢,尤其在高性能、低功耗的移動端。

FPGA

可編程邏輯,計算效率高,更接近底層IO,通過冗余晶體管和連線實現(xiàn)邏輯可編輯。本質(zhì)上是無指令、無需共享內(nèi)存,計算效率比CPU、GPU高。主要應(yīng)用于智能手機、便攜式移動設(shè)備、汽車。FPGA是用硬件實現(xiàn)軟件算法,因此在實現(xiàn)復(fù)雜算法方面有一定的難度,缺點是價格比較高。將FPGA和GPU對比發(fā)現(xiàn),一是缺少內(nèi)存和控制所帶來的存儲和讀取部分,速度更快。二是因為缺少讀取的作用,所以功耗低,劣勢是運算量并不是很大

CPU作為最通用的部分,協(xié)同其他處理器完成著不同的任務(wù)。GPU適合深度學(xué)習(xí)中后臺服務(wù)器大量數(shù)據(jù)訓(xùn)練、矩陣卷積運算。NPU、FPGA在性能、面積、功耗等方面有較大優(yōu)勢,能更好的加速神經(jīng)網(wǎng)絡(luò)計算。而FPGA的特點在于開發(fā)使用硬件描述語言,開發(fā)門檻相對GPU、NPU高。

ASIC芯片是全定制芯片,長遠看適用于人工智能?,F(xiàn)在很多做AI算法的企業(yè)也是從這個點切入。因為算法復(fù)雜度越強,越需要一套專用的芯片架構(gòu)與其進行對應(yīng),ASIC基于人工智能算法進行定制,其發(fā)展前景看好。類腦芯片是人工智能最終的發(fā)展模式,但是離產(chǎn)業(yè)化還很遙遠。

可以說,每種處理器都有它的優(yōu)勢和不足,在不同的應(yīng)用場景中,需要根據(jù)需求權(quán)衡利弊,選擇合適的芯片。

《風(fēng)語辰學(xué)習(xí)筆記》專輯

智能汽車不僅僅是當(dāng)下的熱門,也是未來趨勢所在,作為一個汽車電控工程師,研究、設(shè)計、產(chǎn)品,這是工作;但是拆解、分析,形成自己的設(shè)計語言,這是興趣。每個階段有不同的收貨,整理一下,記個筆記,給自己烙個印,也分享一下,共勉!

作者:風(fēng)語辰(知乎號)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深度學(xué)習(xí)中,CPU、GPU、NPU、FPGA如何發(fā)揮優(yōu)勢?
【內(nèi)幕】華為發(fā)布全球首款A(yù)I移動芯片,NPU疑為寒武紀1A處理器
吊打三星、蘋果!華為發(fā)布全球首款手機AI芯片
詳解三星Exynos9820:最強旗艦手機的標配
GPU高功耗軟肋已成最大危機?“AI 硅腦”迎來戰(zhàn)國時代,GPU十年霸業(yè)將遭“圍剿” | 獨家觀點
自動駕駛計算芯片選型,GPU還是FPGA?
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服