四、挑戰(zhàn)英偉達
GPU在深度學(xué)習(xí)訓(xùn)練階段擁有壓倒性的效能優(yōu)勢,但是在推理階段效能不及MAC為核心的DSP器件,同時GPU還是馮諾伊曼架構(gòu),在并行計算方面,效能與哈佛架構(gòu)有明顯差距。深度學(xué)習(xí)分訓(xùn)練和推理兩部分,推理用在嵌入式系統(tǒng),訓(xùn)練只能在服務(wù)器上完成,故自動駕駛在推理端的應(yīng)用數(shù)量比訓(xùn)練端要廣闊的多,因此出現(xiàn)一大批廠家挑戰(zhàn)英偉達的霸主地位。
GPU主要針對圖像,靈活性也不算高,所有運算都是浮點運算,沒有直接的整數(shù)運算,雖然近期有所改善,但效能肯定不如CPU。CPU處理一次標量乘法只要一次標量乘法指令,GPU卻把標量先轉(zhuǎn)換成向量 然后用一條SIMD指令。GPU的存儲系統(tǒng)是一個二維的分段存儲空間,包括一個區(qū)段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。沒有任何間接寫指令。輸出寫地址不能由程序改變。這對于自然分布在存儲器之中的算法而言是極大的挑戰(zhàn)。所以要求輸入數(shù)據(jù)高度對齊。最后一點,不同碎片Slice的處理過程間不允許通信。
靈活性和高性能是矛盾的,必須做出妥協(xié)。靈活性高一般代表著使用面廣,出貨量高,性價比高。高性能一般代表使用面窄,出貨量低,而高性能芯片必備先進制造工藝,最好是7納米或5納米,這樣的芯片流片成本高達近億美元,性價比自然很低。對于初創(chuàng)廠家,要挑戰(zhàn)的對手主要是英偉達,想要從靈活性、性價比方面挑戰(zhàn)英偉達是完全不可能的,所以初創(chuàng)廠家和Mobileye無一例外都選擇高性能或高效能。
挑戰(zhàn)英偉達主要從四個方面入手
一是運算架構(gòu),以DSP為核心,用傳統(tǒng)SIMD/DSP架構(gòu)來適配神經(jīng)網(wǎng)絡(luò)的技術(shù)思想在國際上已有不少先例,甚至有成熟的產(chǎn)品,例如CEVA公司的XM4處理器、Cadence公司的Tensilica Vision P5處理器、Synopsys公司的EV處理器等。他們多以IP核方式出售,用做卷積加速處理,如CEVA在瑞芯微RV1108的應(yīng)用。踏實淳樸的廠家會直接說使用了多少個MAC,如已經(jīng)被Xilinx收購的深鑒預(yù)定在2018年推出的ASIC版芯片“聽濤”。28nm,2個DPU core,每個2048個MAC,總體算力4.1TOPS(4096個MAC @500MHz),核心部分功耗1.1W,整體3W。2016年6月中星微電子發(fā)布的號稱中國首款嵌入式NPU(神經(jīng)網(wǎng)絡(luò)處理器)芯片也是典型的多核DSP。 這種芯片將傳統(tǒng)的面向數(shù)字信號處理的DSP處理器架構(gòu)用于處理神經(jīng)網(wǎng)絡(luò),基本上只能對應(yīng)卷積運算,對RNN和LSTM幾乎無能為力。
二是針對存儲器和運算單元之間的瓶頸加以改進,將片外內(nèi)存訪問降低,提高吞吐量。典型代表是寒武紀的DianNaoYu指令集。在計算機體系結(jié)構(gòu)領(lǐng)域,常用的提升訪存性能的方案是緩存Cache機制的引入,CNN算法會引入大量的訪存行為,這個訪存行為的頻繁度會隨著參考取樣集合的增加而增加(原因很簡單,緩存無法裝下所有的參考取樣,所以,即便這些參考取樣會不斷地被重復(fù)訪問,也無法充分挖掘數(shù)據(jù)本地化所帶來的cache收益)。針對這種應(yīng)用類型,實際上存在成熟的優(yōu)化范式——Loop tiling。Loop tiling的基本思想是,對于循環(huán)邏輯,通過將大塊的循環(huán)迭代拆解成若干個較小的循環(huán)迭代塊,減少一個內(nèi)存元素的復(fù)用距離,換句話說,也就是確保當(dāng)這個內(nèi)存元素被加載到cache以后,盡可能保留在cache中,直到被再次訪問,這樣就達到了減少了昂貴的片外訪存的開銷的目的。 使用Loop tiling,片外訪存減少了 90%。這就是將訪存邏輯定制在硬件層面,通過引入一個稱之為IM(Index Module)的硬件模塊,完成稀疏訪存的處理,從而將稀疏向量/矩陣運算轉(zhuǎn)換成常規(guī)向量/矩陣運算。華為就使用了寒武紀的IP。
三是VLIW,Very long instruction word。VLIW是美國Multiflow和Cydrome公司于20世紀80年代設(shè)計的體系結(jié)構(gòu),主要應(yīng)用于Trimedia(全美達)公司的Crusoe和Efficeon系列處理器中。全美達在2000年發(fā)起對巨人英特爾的挑戰(zhàn),當(dāng)時全美達推出的筆記本電腦無需散熱風(fēng)扇,但軟件支持度太弱,2004年挑戰(zhàn)失敗退出CPU領(lǐng)域。
VLIW體系結(jié)構(gòu)采用多個獨立的功能部件,每一個指令周期可以同時流出多條指令,可同時流出的操作類型與數(shù)目是確定的,所以指令調(diào)度是由編譯器靜態(tài)調(diào)度完成(在其它方法中均由硬件實現(xiàn)的)以減少硬件開銷,因此指令可同時流出的最大數(shù)目越大,超長指令字的性能優(yōu)勢就越明顯。每時鐘周期例如vliw可運行20條指令,而CISC通常只能運行1-3條指令,RISC能運行4條指令,可見VLIW要比CISC和RISC強大的多。但是,只要是并行處理,就一定會受到更多相關(guān)性的限制。這種相關(guān)是有程序本身造成的,分為控制相關(guān)和數(shù)據(jù)相關(guān)兩種,指令在調(diào)度時,必須遵循它們之間的依賴關(guān)系,防止沖突發(fā)生。
VLIW簡化了處理器的結(jié)構(gòu),刪除了處理器內(nèi)部許多復(fù)雜的控制電路,這些電路通常是超標量芯片(CISC和RISC)協(xié)調(diào)并行工作時必須使用的,VLIW的結(jié)構(gòu)簡單,也能夠使其芯片制造成本降低,價格低廉,能耗少,而且性能也要比超標量芯片高得多。VLIW是簡化處理器的最新途徑,VLIW芯片無需超標量芯片在運行時間協(xié)調(diào)并行執(zhí)行時所必須使用的許多復(fù)雜的控制電路,而是將許多這類負擔(dān)交給了編譯器(指令集)去承擔(dān)。不過英特爾x86和ARM指令集都建立了龐大的生態(tài)體系,要想推廣一種全新的指令集完全不可能,這就注定VLIW的使用面很窄,非常封閉。VLIW另一個缺點是如果有非確定性事件如錯失緩存,那么整個處理器就會死機,這就要求輸入數(shù)據(jù)高度對齊,非常規(guī)范,不能有跳躍。此外,指令集龐大,需要高成本的緩存。VLIW非常適合做視頻的編解碼,聲音的編解碼。今天德州儀器最成功的DSP TMS320C6x是最典型的VLIW型芯片。
四是SIMD。說到SIMD就附帶提一下并行架構(gòu),主要分4級,包括:
指令級并行,即Instruction-level parallelism (ILP),包括Pipelining, out-of-order execution, superscalar(超標量) processing。
線程級并行,Thread-level parallelism (TLP),Simultaneous/fine-grained/coarse-grained multi-threading。
存儲級并行,Memory-level parallelism (MLP),Non-blocking caches, out-of-order execution, prefetching, runahead。
數(shù)據(jù)級并行,SIMD就是典型的數(shù)據(jù)級并行。
按照1966年Flynn提出的分類,指令流(Instruction Stream)——機器執(zhí)行的指令序列。數(shù)據(jù)流(Data Stream)——指令調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結(jié)果。多倍性(Multiplicity)——在系統(tǒng)最受限制的元件上同時處于同一執(zhí)行階段指令或數(shù)據(jù)執(zhí)行的最大可能個數(shù)。
按照指令和數(shù)據(jù)流不同的組織方式,計算機系統(tǒng)可分為四類:
單指令單數(shù)據(jù)流(Single Instruction stream and Single Data stream,SISD):SISD其實就是傳統(tǒng)的順序執(zhí)行的單處理器計算機,其指令部件每次只對一條指令進行譯碼,并只對一個操作部件分配數(shù)據(jù)。流水線方式的單處理機有時也被當(dāng)成SISD。
單指令多數(shù)據(jù)流(SIMD) 特性:處理機以同步的形式執(zhí)行同一條指令。
多指令單數(shù)據(jù)流(MISD) 特性:被證明不可能,至少是不實際。
多指令多數(shù)據(jù)流(MIMD) 特性:能夠?qū)崿F(xiàn)作業(yè),任務(wù),指令等各級全面并行。
SIMD應(yīng)用廣泛,包括向量/陣列處理器,GPU和向量指令集。
上圖為傳統(tǒng)的超標量運算架構(gòu)與SIMD的對比。簡單地說,SIMD是一種采用一個控制器來控制多個處理器,同時對一組數(shù)據(jù)(又稱“數(shù)據(jù)向量”)中的每一個分別執(zhí)行相同的操作從而實現(xiàn)空間上的并行性的技術(shù)。在微處理器中,單指令流多數(shù)據(jù)流技術(shù)則是一個控制器控制多個平行的處理微核。通常以指令集的形式出現(xiàn),SIMD和VLIW是好搭檔。
五、英特爾的Mobileye EyeQ5
Mobileye創(chuàng)業(yè)之路漫長,1999年創(chuàng)業(yè),2010年第一塊量產(chǎn)級芯片問世,歷時11年。軟硬一體是Mobileye成功的關(guān)鍵, Mobileye從EyeQ2架構(gòu)基本定型,EyeQ4做了重大升級,EyeQ5主要是CPU方面有所提升,增加了VMP的數(shù)量而已。
上圖為第一代EyeQ1,只做算法驗證,未量產(chǎn),很明顯使用了ARM946E內(nèi)核。EyeQ1植入多個硬核,效率很高,成本更高。
EyeQ2內(nèi)部框架圖如上,第一次使用VMP。 EyeQ2開放性還是蠻高的,包括10個并行處理器,分別是兩個332MHz MIPS 34KF, 8個視覺專用處理器,這8個有三個是VMP。Mobileye對VMP申請了專利,本質(zhì)上還是一種類似FPGA的查找表結(jié)構(gòu)。其他5個分別是CE,即聚類引擎Classifier Engine。針對雙目的視差找尋DFinder (Disparity Finder);濾波Filter, 預(yù)處理視窗PW (Preprocessor Window),運動軌跡Tracker用于動作分析。車道線識別引擎被取消了。當(dāng)時EyeQ2對標德州儀器的達芬奇,號稱擁有達芬奇7倍的性能。不過硬核太多,導(dǎo)致成本居高不下。
EyeQ3/4內(nèi)部框架圖如上,EyeQ3在2014年問世,用軟件方式將5個專用視覺模塊都取消,大幅度降低成本,一舉成功。EyeQ4則第一次增加了PMA和MPC。PMA即Program Macro Array,可編程宏陣列,這個是Mobileye獨創(chuàng)的,Mobileye解釋說PMA就是能夠達到類似硬核的效能,但仍然具備可編程性,The programmable macro array (PMA) enables computation density nearing that of fixed-function hardware accelerators without sacrificing programmability. 似乎是一個靈活度很高的固核,似乎是EyeQ3取消硬核后,有些應(yīng)用力不從心,于是在EyeQ4上加入了PMA。推測實質(zhì)上是一個多核DSP架構(gòu),要不然很難擁有384個MAC,實際量產(chǎn)時,頻率降低到了750MHz,單從頻率來看,倒不可像是FPGA。
MPC即Multi-Thread Processor Cluster,多線程處理器群。這也是Mobileye獨創(chuàng)的詞,只有8個MAC。The MPC is more versatile than any GPU and more efficient than any CPU,Mobileye是這么解釋MPC的。比任何GPU都應(yīng)用多樣化,比任何CPU都效率高。 GPU的強項是并行運算能力比CPU強(多個不同任務(wù)的并行運算GPU也無法勝任,GPU只適合處理單個可并行任務(wù)的并行運算),而不是浮點運算能力強。多線程這種CPU技術(shù)就是對應(yīng)多個不同任務(wù)的,同時它是雙核8MAC的群結(jié)構(gòu),等于16核CPU處理多個不同任務(wù)的并行計算,效能會比一般的CPU略高。
EyeQ4仍然由Mobileye的老伙伴意法半導(dǎo)體采用28納米FD-SOI工藝制造,而目前大部分強調(diào)運算性能的芯片都是采用16納米以下工藝,英偉達的Xavier是12納米工藝,華為已經(jīng)有7納米工藝芯片問世。28納米FD-SOI工藝最大的優(yōu)勢是成本低。
EyeQ5內(nèi)部框架圖如上,18個電腦視覺處理器實際就是VMP+PMA+MPC合計18個,估計12個VMP,4個PMA,2個MPC。EyeQ5已經(jīng)不能再用28納米FD-SOI工藝,那樣落后對手太多,EyeQ5也是采用7納米FinFET工藝,全球只有臺積電一家能夠代工,臺積電的7納米訂單早已塞爆。按照計劃,EyeQ5將在2020年推出。以瑞薩的R-Car H3為例,這是第一款車載16納米芯片,臺積電代工,2015年正式推出,到2019年才能正式量產(chǎn),2020或2021年才能見到搭載R-Car H3的量產(chǎn)車型,7納米比16納米要難得多。
英特爾早期的設(shè)計如下圖:
后期則取消了Atom,改為下圖。
這個AV Kit套件是英特爾雄心勃勃的計劃, 包括芯片級 Silicon-only solution,芯片加軟件解決方案 Silicon + software solution,完整的子系統(tǒng),包括主芯片、車載以太網(wǎng)交換機、PCIE交換機、物理層芯片 Complete subsystem,完整的硬件系統(tǒng),包括攝像頭、毫米波雷達和激光雷達,可能還有高精度地圖 Complete hardware system, Supply of its internally-developed radars and lidars,移動出行的整套軟件技術(shù)。 Software technologies necessary for the “moving people” business不僅包括計算平臺,英特爾還打算自己設(shè)計開發(fā)激光雷達和毫米波雷達,為客戶提供全套解決方案。
英特爾激光雷達的開發(fā)是由英特爾實驗室的Silicon Photonics Technology技術(shù)小組負責(zé),英特爾也有Silicon Photonics Product Division (SPPD)事業(yè)部,從英特爾多年光通訊領(lǐng)域的積累看,英特爾要做的激光雷達可能是兩種,一種是1550納米的旋轉(zhuǎn)型激光雷達,另一種是單光子陣列的Flash激光雷達。光通訊領(lǐng)域基本都是1550納米激光,這種激光安全系數(shù)是目前常用的905納米的數(shù)萬倍,可以全天候運作,幾乎接近毫米波雷達的氣候適應(yīng)能力。豐田和沃爾沃投資的LUMINAR正是出身光通訊領(lǐng)域,對英特爾來說,激光雷達幾乎無技術(shù)門檻可言,毫米波雷達也是如此。
-
存儲器
+關(guān)注
關(guān)注
38文章
7366瀏覽量
163091 -
英偉達
+關(guān)注
關(guān)注
22文章
3637瀏覽量
89846 -
自動駕駛
+關(guān)注
關(guān)注
781文章
13449瀏覽量
165259
原文標題:自動駕駛芯片之爭(二)
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論