繼續(xù)Seeing Machines對(duì)DMS商業(yè)化落地遇到的挑戰(zhàn)的總結(jié)。
在12nm節(jié)點(diǎn)上搭建Occula NPU性能模型
在不同的半導(dǎo)體技術(shù)節(jié)點(diǎn)上對(duì)Occula性能建模以進(jìn)行比較有三個(gè)部分。
首先,在Occula上運(yùn)行的任何給定算法的處理速度以FPS衡量,主要取決于Occula的時(shí)鐘頻率和確定性pipeline。雖然由于系統(tǒng)級(jí)的內(nèi)存帶寬策略存在一些差異,但可以通過(guò)包含一個(gè)小的安全邊際來(lái)解決。
第二,Occula所需的芯片面積取決于門(mén)的數(shù)量和內(nèi)部buffer和cache實(shí)例化的總RAM比特?cái)?shù)。這些完全由ASIC設(shè)計(jì)流程中的綜合結(jié)果決定。
第三,Occula的功耗取決于技術(shù)節(jié)點(diǎn)的泄漏特性、芯片面積、時(shí)鐘頻率和Occula內(nèi)部各子模塊的動(dòng)態(tài)開(kāi)關(guān)活動(dòng)。
Stillmaker和Baas對(duì)這些因素及其微妙的相互作用進(jìn)行了簡(jiǎn)明的解釋。正如他們?cè)谡撐闹兴赋龅?,如果我們有某一特定?jié)點(diǎn)(例如22nm)的時(shí)鐘頻率、面積和功率值,那我們就可以用比例方程來(lái)估計(jì)不同節(jié)點(diǎn)的等效量。
我們已經(jīng)在上面右欄中列出了我們的建模結(jié)果(灰色陰影部分)。我們的結(jié)論是,在12nm節(jié)點(diǎn)上,Occula最大需要0.9mm^2的面積,在結(jié)溫125℃的最壞情況下的開(kāi)關(guān)活動(dòng)需要0.3w的峰值功率(鑒于在這之前系統(tǒng)層面上幾乎肯定會(huì)出現(xiàn)內(nèi)存瓶頸,這實(shí)際上是極難達(dá)到的)??紤]到芯片的老化,Occula在這個(gè)節(jié)點(diǎn)上的性能預(yù)計(jì)會(huì)產(chǎn)生至少500MHz的時(shí)鐘頻率。
實(shí)際上,由于Occula采用了智能pipeline的方式,便于定時(shí)關(guān)閉,所以有可能大大提升頻率,但必須與DDR內(nèi)存接口的速度保持平衡,因?yàn)檫@是芯片中的寶貴資源(正如我們前面所闡述的)。如果Occula的時(shí)鐘超過(guò)500MHz很多,那么它很可能在等待來(lái)自DDR內(nèi)存的數(shù)據(jù),而不是真正有效地利用芯片的空間。我們將在下一節(jié)進(jìn)一步討論這個(gè)話題。
芯片面積的價(jià)值在開(kāi)發(fā)一款新的SoC時(shí),最重要的初始考慮是芯片面積,因?yàn)樗苯雨P(guān)系到邊際單位成本,從而關(guān)系到設(shè)備的售價(jià)。作為一個(gè)參考點(diǎn),一個(gè)針對(duì)單機(jī)DMS市場(chǎng)的SoC處理器(2-4顆A53級(jí)處理器)在16nm節(jié)點(diǎn)的芯片面積可能在15-20mm^2之間。這是一個(gè)現(xiàn)實(shí)的估計(jì),我們可以用它來(lái)說(shuō)明高效的芯片設(shè)計(jì)和如何利用它的重要性,我們認(rèn)為這就是芯片面積的價(jià)值。
圖10顯示了一個(gè)完整的16nm SoC產(chǎn)品的芯片面積分解的實(shí)例。這個(gè)簡(jiǎn)單的說(shuō)明是為了讓人們了解設(shè)備中各種功能的芯片利用率的相對(duì)差異。在下圖中:視覺(jué)加速器可能是一個(gè)定制的可編程協(xié)處理器、DSP或NPU;視頻編解碼器是一個(gè)H.264編解碼器,ISP能進(jìn)行RGB-IR處理以及其他可視的視頻流處理;CPU子系統(tǒng)有4個(gè)64位內(nèi)核(每個(gè)核實(shí)現(xiàn)矢量擴(kuò)展),有512KB的共享L2 cache。
應(yīng)該注意的是,在這個(gè)例子中,實(shí)際上有三個(gè)不同的“加速”子系統(tǒng),每一個(gè)都是為了減輕CPU計(jì)算量大的工作負(fù)荷。它們是H.264編解碼器、ISP和視覺(jué)加速器。那么,為什么選擇這些功能硬件化到芯片上呢?答案很簡(jiǎn)單,但并不總是那么明顯。它可以歸結(jié)為以下幾點(diǎn)考慮。
1. 該任務(wù)是否會(huì)被使用該芯片的大多數(shù)應(yīng)用所使用(即對(duì)大部分客戶(hù)來(lái)說(shuō),它不是dead silicon)?
2. 硬件化功能是否有明顯的減硅優(yōu)勢(shì)(即它比在CPU上運(yùn)行的芯片成本低)?
硬件化任何功能的主要缺點(diǎn)是會(huì)失去靈活性。畢竟,CPU中的軟件是最靈活的解決方案。一般來(lái)說(shuō),基于“標(biāo)準(zhǔn)”和無(wú)處不在的功能是硬件化的完美候選者,因?yàn)镾oC制造商幾乎不可能在其定義中漏掉什么,例如H.264編碼器就是一個(gè)理想的候選者。
考慮到上述芯片面積的細(xì)分,現(xiàn)在可以對(duì)頻繁和實(shí)時(shí)任務(wù)的芯片成本進(jìn)行深入的分析。例如,在硬件化的H.264編碼器中壓縮全高清1080p視頻流時(shí),與在CPU上純粹用軟件進(jìn)行壓縮相比,芯片的利用效率如何?
我們對(duì)表6中的數(shù)據(jù)進(jìn)行了一個(gè)簡(jiǎn)單的實(shí)驗(yàn)。一個(gè)時(shí)鐘為200MHz的硬件化的H.264編碼器可以跟上60fps的視頻流,盡管只有一半的幀是RGB。換句話說(shuō),盡管以30fps的速度處理,編碼器仍然必須優(yōu)于16.6ms的幀延遲,因?yàn)槭S嗟膸荌R,它們將達(dá)到同樣的速度;否則,編碼器會(huì)因?yàn)槠仁姑總€(gè)RGB幀先在DDR內(nèi)存中緩沖而變得效率極低(正如我們?cè)诒疚那懊嫠懻摰哪菢樱?/p>
另一方面,一個(gè)時(shí)鐘為800 MHz的A53內(nèi)核用純內(nèi)存到內(nèi)存的數(shù)據(jù)流編碼一幀需要130ms,因此它完全不能滿(mǎn)足30fps的要求。我們使用開(kāi)源的x264工具,該工具已針對(duì)ARMv8指令集中的NEON SIMD擴(kuò)展進(jìn)行了大量?jī)?yōu)化。該數(shù)據(jù)表明,在權(quán)衡芯片面積的價(jià)值時(shí),硬件化標(biāo)準(zhǔn)H.264算法可以提供相同的功能,其效率是A53內(nèi)核的5倍以上。
現(xiàn)在讓我們來(lái)看看視線追蹤任務(wù)(執(zhí)行我們專(zhuān)有的SM_TRACK網(wǎng)絡(luò)),進(jìn)行與Occula NPU相關(guān)的相同分析。表7比較了執(zhí)行SM_TRACK網(wǎng)絡(luò)的A53內(nèi)核(帶NEON SIMD擴(kuò)展)和運(yùn)行相同工作負(fù)載的Occula NPU。我們比較了兩者的單次延遲,然后將該延遲率與A53內(nèi)核的芯片面積進(jìn)行對(duì)比,得出相對(duì)效率(與表6相同)。這再次表明,相對(duì)于在A53內(nèi)核上運(yùn)行的完全優(yōu)化的軟件版本,硬件化的Occula在執(zhí)行我們的視線追蹤算法方面的效率。
上述數(shù)據(jù)表明,當(dāng)涉及到像視線追蹤這樣的實(shí)時(shí)任務(wù)時(shí),以500MHz(ASIC實(shí)現(xiàn)的典型時(shí)鐘)運(yùn)行的Occula比以800MHz運(yùn)行的A53內(nèi)核至少能更好地利用芯片的空間12倍。這一比率是可以預(yù)期的,相對(duì)性能以及本文中說(shuō)明的先前數(shù)據(jù)表明,具有NEON SIMD擴(kuò)展的A53內(nèi)核作為一個(gè)嵌入式處理器實(shí)際上是多么的通用。值得注意的是,A53內(nèi)核和Occula NPU都可以按照其設(shè)計(jì)的架構(gòu)執(zhí)行其他多項(xiàng)任務(wù)。問(wèn)題仍然是,對(duì)CPU造成負(fù)擔(dān)的關(guān)鍵實(shí)時(shí)工作負(fù)載應(yīng)該直接在芯片中加速,以獲得最大效率。
結(jié)束語(yǔ)
為汽車(chē)行業(yè)構(gòu)建DMS是一門(mén)藝術(shù),也是一門(mén)科學(xué)。有多種策略可以部署,且每一種策略都有很大的不確定性。多年來(lái),Seeing Machines一直處于設(shè)計(jì)DMS解決方案的前沿,以滿(mǎn)足低成本、低功耗、高性能和大批量應(yīng)用的最苛刻要求和市場(chǎng)壓力。
我們駕馭這一藝術(shù)和科學(xué)的策略一直集中于以通過(guò)部署協(xié)同設(shè)計(jì)方法解決嵌入式挑戰(zhàn)?,F(xiàn)在,Occula NPU已經(jīng)進(jìn)入第八代,基于我們自己的算法發(fā)明和該領(lǐng)域的專(zhuān)業(yè)知識(shí),我們精心設(shè)計(jì)了Occula NPU來(lái)優(yōu)化DMS技術(shù)。
展望汽車(chē)市場(chǎng)這一領(lǐng)域未來(lái)的可能性,以及擴(kuò)展到其他必須采用DMS技術(shù)的行業(yè),我們看到了將這一技術(shù)的前沿推向更遠(yuǎn)的機(jī)會(huì)。在設(shè)計(jì)DMS產(chǎn)品時(shí),我們有一個(gè)世界級(jí)的團(tuán)隊(duì)來(lái)利用這些機(jī)會(huì),這要?dú)w功于我們深厚的專(zhuān)業(yè)知識(shí)和技能(從上到下跨越了整個(gè)堆棧)。