1
本文作者: 任然 | 2019-01-10 15:23 |
NVIDIA對(duì)SoC的設(shè)計(jì)并不陌生,到目前為止他們已經(jīng)發(fā)布了7代Tegra系列SoC。
在過(guò)去幾年中,NVIDIA逐漸從消費(fèi)級(jí)的Tegra產(chǎn)品轉(zhuǎn)換到更專業(yè)的AI等高性能移動(dòng)計(jì)算平臺(tái)。經(jīng)歷了Tegra K1和Tegra X1的過(guò)渡,Tegra Parker(即NVIDIA Drive PX)終于帶著改良版的Denver2架構(gòu)成功登上了自動(dòng)駕駛的舞臺(tái)。雖然產(chǎn)品已經(jīng)脫離了大多數(shù)消費(fèi)者,但它們?nèi)匀皇欠浅=o力且有趣的SoC平臺(tái),擁有許多我們至今沒(méi)有在其他設(shè)備中看到的奇妙設(shè)計(jì)。
去年,NVIDIA推出了新一代Jetson AGX平臺(tái),瞄準(zhǔn)機(jī)器人和工業(yè)自動(dòng)化等AI神經(jīng)網(wǎng)絡(luò)用例。這是一款功能齊全的小型計(jì)算系統(tǒng),Xavier芯片本身設(shè)計(jì)為完整的商業(yè)現(xiàn)貨(COTS)系統(tǒng),整個(gè)平臺(tái)的尺寸不超過(guò)105mm x105mm。
當(dāng)然光有裸模塊什么也干不了,你無(wú)法對(duì)著一個(gè)裸模塊進(jìn)行開發(fā),還需要NVIDIA提供的完整Jetson AGX開發(fā)套件。Jetson AGX開發(fā)套件提供了模塊運(yùn)行所需的一切,包括電源、散熱器,以及一塊非常重要的分接板。這塊分接板提供各種I/O接頭和端口,從標(biāo)準(zhǔn)的雙USB Type-C 3.1、HDMI和千兆以太網(wǎng)端口,到用于相機(jī)連接的MIPI CSI-2連接器等更專業(yè)的接口,以及40pin GPIO連接器等一系列典型的開發(fā)板接頭。
Jetson AGX最厲害的地方在于,其提供了PCIe Gen4 x16以及M.2 PCIe x1通用擴(kuò)展插槽,可用于連接WiFi或蜂窩網(wǎng)絡(luò)模塊等附加設(shè)備,可為傲視群雄。這兩種功能在其他Arm開發(fā)板中極為罕見,因?yàn)榇蠖鄶?shù)SoC都沒(méi)有集成PCIe控制器。
Jetson AGX擁有一塊分量十足的鋁制散熱片,平臺(tái)的靈魂——Xavier芯片就位于下方。Xavier芯片作為系統(tǒng)的大腦,是NVIDIA迄今為止最大、最復(fù)雜的SoC,是Arm生態(tài)系統(tǒng)的重量級(jí)產(chǎn)品之一,在350mm2的面積上集成了90億晶體管。Xavier芯片的四周圍16GB LPDDR4X內(nèi)存、32GB eMMC閃存以及供電模塊等其他核心組件。
來(lái)自傳統(tǒng)的PC行業(yè)的NVIDIA毫不避諱的自行展示了Xavier芯片的透視電路圖,這樣大方且自信的態(tài)度,在Arm SoC供應(yīng)商中非常罕見。Xavier芯片主要由NVIDIA自研的Carmel架構(gòu)8核64位CPU和Volta架構(gòu)512 CUDA處理器GPU這兩大模塊組成,這兩部分電路占據(jù)了芯片的大部分空間。
8個(gè)CPU核心被平均分配為4個(gè)集群,每個(gè)集群都有一個(gè)獨(dú)立的時(shí)鐘平面,并在2個(gè)CPU核心之間共享2MB L2緩存,在其之上,4個(gè)集群共享4MB L3緩存。目前關(guān)于全新Carmel架構(gòu)的信息很少,只知道它是之前Denver架構(gòu)的繼任者,其設(shè)計(jì)特點(diǎn)是強(qiáng)大的動(dòng)態(tài)代碼優(yōu)化能力。NVIDIA只對(duì)外表示Carmel是一個(gè)10寬度的超標(biāo)量架構(gòu)(10個(gè)執(zhí)行端口,非10寬度解碼),并且支持ARMv8.2+RAS指令集。
Xavier的GPU源于Volta架構(gòu),內(nèi)部結(jié)構(gòu)被劃分為4個(gè)TPC(紋理處理集群),每個(gè)TPC具有2個(gè)SM(流式多處理器),每個(gè)SM集成64個(gè)CUDA核心(即流處理器),共計(jì)512個(gè)CUDA核心,其單精度浮點(diǎn)運(yùn)算性能為2.8Tflops,雙精度為1.4Tflops。此外Xavier還從Volta那里繼承了Tensor Core,其8bit運(yùn)算性能為22.6Tops,16bit運(yùn)算性能為11.3Tops。
除了CPU和GPU,Xavier內(nèi)還設(shè)計(jì)有全新的DLA(Deep Learning Accelerator,深度學(xué)習(xí)加速器)和PVA(Programmable Vision Accelerator,可編程視覺(jué)加速器)單元,其中DLA是一種新型的機(jī)器推理加速專用單元,其INT8計(jì)算性能高達(dá)11.4Tops;PVA則是一種更傳統(tǒng)的視覺(jué)計(jì)算單元,在視覺(jué)管道中位于ISP之后,它能以比GPU或DLA更高效的處理對(duì)象檢測(cè)等基本任務(wù),將圖像分割成對(duì)象后轉(zhuǎn)發(fā)到GPU或DLA上進(jìn)行后續(xù)處理。
Xavier的核心競(jìng)爭(zhēng)力是其機(jī)器推理性能,Volta GPU與DLA核心相結(jié)合,在低功耗平臺(tái)上構(gòu)筑了強(qiáng)大的處理能力。
為了展示該系統(tǒng)的機(jī)器學(xué)習(xí)推理能力,NVIDIA為Jetson AGX平臺(tái)提供了大量軟件開發(fā)套件以及手動(dòng)調(diào)整框架,特別是TensorRT框架,預(yù)先為開發(fā)者做了大量繁重的準(zhǔn)備工作,使他們能充分利用GPU中的Tensor Core和DLA單元。
NVIDIA還準(zhǔn)備了一套主流的機(jī)器學(xué)習(xí)模型,讓開發(fā)者能夠根據(jù)模型在平臺(tái)上的運(yùn)行方式來(lái)精確調(diào)節(jié)配置。在CUDA核心和Tensor Core上運(yùn)行的所有模型都能夠以量化的INT8、FP16或FP32格式運(yùn)行,批處理大小也可自由配置,但本次測(cè)試只簡(jiǎn)單展示批量大小為32張圖像的結(jié)果。
GPU基準(zhǔn)測(cè)試的結(jié)果有點(diǎn)“玄”,從數(shù)據(jù)是可以清楚地看出,Xavier的推理性能絕對(duì)值相當(dāng)高,在INT8模式下高達(dá)每秒465次推理,F(xiàn)P16和FP32模式下也分別達(dá)到每秒248次和59次。
之所以說(shuō)“玄”,是因?yàn)槟壳皫缀鯖](méi)有可以與Xavier對(duì)比的參考數(shù)據(jù),唯一比較相近的是蘋果A12處理器評(píng)測(cè)中的AImark測(cè)試,在VGG16測(cè)試項(xiàng)中,A12的NPU性能為每秒39次推理。雖然不知道AImark的VGG16測(cè)試使用的是哪種精度,但即便是拿Xavier最慢的FP32精度的成績(jī)來(lái)比,二者的差距依然相當(dāng)明顯(要知道A12可是7nm最新工藝的產(chǎn)物,Xavier只是12nm)。
NVIDIA還允許開發(fā)者對(duì)DLA塊進(jìn)行基準(zhǔn)測(cè)試,但同時(shí)也提醒稱,當(dāng)前版本的TensorRT框架還有些不成熟,因此目前不允許在INT8模式下運(yùn)行模型,只能在FP16模式下進(jìn)行比較。此外測(cè)試也無(wú)法使用與GPU上相同的32尺寸大型批處理運(yùn)行測(cè)試,只能使用較小的16和8尺寸,小尺寸批處理在硬件上的實(shí)際處理時(shí)間稍短,因而在API端花費(fèi)的時(shí)間會(huì)顯得相對(duì)較長(zhǎng)。
乍看之下DLA的性能有點(diǎn)令人失望,不過(guò)它的性能只是Volta GPU能的一小部分,原始性能不是DLA的主要任務(wù),它可以作為專門的卸載塊,比GPU更高的效率點(diǎn)運(yùn)行。不幸的是,GPU和DLA之間的功率差異無(wú)法直接測(cè)量,只能測(cè)出GPU在推斷工作負(fù)載中,峰值性能模式下的平臺(tái)功耗約為45W。
NVIDIA的VisionWorks演示
NVIDIA的VisionWorks SDK提供了大量示例演示和源代碼項(xiàng)目,可以作為商業(yè)應(yīng)用程序的基準(zhǔn),編譯演示程序也是輕而易舉。
第一個(gè)演示展示的是Xavier的特性跟蹤功能,為便于測(cè)試,輸入源是一段預(yù)先錄制的視頻。雖然視頻輸出限制為30fps,但算法運(yùn)行速度高達(dá)200~300fps,此時(shí)Jetson AGX平臺(tái)的總功耗在14W左右。在算法fps中存在相當(dāng)多的抖動(dòng),這可能歸因于在限制fps的輸出模式下由于工作負(fù)載的持續(xù)時(shí)間較短而導(dǎo)致的調(diào)度噪聲。
第二個(gè)演示展示的是Hough變換濾波器的應(yīng)用,這是一個(gè)特征提取算法,用于進(jìn)一步的圖像分析。與第一個(gè)演示類似,該算法可以在單個(gè)視頻流上以非常高的幀速率運(yùn)行,不過(guò)在實(shí)際環(huán)境中通常都是多視頻流輸入,單個(gè)視頻流下的性能僅供參考。在這個(gè)演示中,平臺(tái)功耗也在14W左右。
第三個(gè)演示展示的是通過(guò)運(yùn)動(dòng)預(yù)判算法確定運(yùn)動(dòng)對(duì)象的運(yùn)動(dòng)矢量,這是汽車應(yīng)用程序中一個(gè)相對(duì)簡(jiǎn)單的用例。
第四個(gè)演示展示的是EIS(電子圖像穩(wěn)定)的計(jì)算實(shí)現(xiàn),通過(guò)給定一個(gè)輸入視頻流,系統(tǒng)將裁剪幀的邊緣并使用此空間作為穩(wěn)定窗口,輸出抖動(dòng)較少的穩(wěn)定圖像。
最一個(gè)“DeepStream”演示,也是最令人印象深刻,展示了在25個(gè)720p視頻流同時(shí)輸入下,系統(tǒng)對(duì)每個(gè)視頻輸入流執(zhí)行基本對(duì)象檢測(cè)。這種工作負(fù)載也是在現(xiàn)實(shí)中使用最多案例,能夠充分考驗(yàn)Xavier的處理能力。在這一演示中,平臺(tái)功耗大幅上升至40瓦左右,也在情理之中。
雖然Xavier的視覺(jué)計(jì)算和機(jī)器推理性能非常勁爆,但許多人更感興趣的則是NVIDIA最新一代Carmel自研架構(gòu),這也是目前業(yè)界罕見的定制Arm架構(gòu)之一。
內(nèi)存延遲
在進(jìn)入SPEC2006測(cè)試之前,先來(lái)看看NVIDIA設(shè)計(jì)的緩存子系統(tǒng)設(shè)計(jì),其延遲與Arm陣營(yíng)中其他平臺(tái)相比處于何種水平。
在第一項(xiàng)緩存測(cè)試的延遲曲線指數(shù)圖上,可以清楚的看出系統(tǒng)各緩存層次之間的結(jié)構(gòu)級(jí)別。Carmel架構(gòu)擁有64KB L1數(shù)據(jù)緩存,其延遲居然低至不到1ns,這是非常少見的高水平。在L1緩存之上是2MB L2緩存和4MB L3緩存,其中L3緩存看起來(lái)使用了非統(tǒng)一訪問(wèn)的設(shè)計(jì),它的延遲隨著測(cè)試深度增大而持續(xù)上升。
切換到線性圖表來(lái)看,NVIDIA的Carmel架構(gòu)確實(shí)具有優(yōu)于Arm Cortex A76和Kirin 980的L3緩存延遲。不過(guò)這一優(yōu)勢(shì)并沒(méi)有延續(xù)到內(nèi)存控制器的延遲表現(xiàn)上,雖然Xavier配備了256bit LPDDR4X內(nèi)存控制器,峰值帶寬高達(dá)137GB/s,比麒麟980的64bit和蘋果A12X的128bit都要高,然而得益于巨大的8MB L2緩存和8MB系統(tǒng)緩存,蘋果在所有測(cè)試深度上都具有巨大的內(nèi)存延遲優(yōu)勢(shì)。這并非是NVIDIA的設(shè)計(jì)水平不夠高,而是7nm堆起緩存來(lái)就是這么任性……
SPEC2006測(cè)試之單核效能
NVIDIA為Jetson AGX平臺(tái)提供了一套Ubuntu Linux(18.04 LTS)的定制系統(tǒng),在測(cè)試平臺(tái)方面擁有很大的靈活性,不過(guò)更令人遺憾的是,ARM在Linux上可用的瀏覽器依然基于缺乏優(yōu)化的Javascript JIT引擎,導(dǎo)致瀏覽器性能遠(yuǎn)遠(yuǎn)低于其他移動(dòng)設(shè)備。
為了更好的模仿iOS和Android的設(shè)置,測(cè)試選擇了Clang 8.0.0編譯器。為了簡(jiǎn)單起見,測(cè)試除使用了-Ofast參數(shù)和一個(gè)針對(duì)Cortex A53的調(diào)度模型(它的總體性能比沒(méi)有模型或針對(duì)Cortex A57的要好)之外,沒(méi)有使用其他任何特殊的標(biāo)志。
Jetson AGX平臺(tái)的空載功耗為8.92W,相對(duì)較高,這主要是因?yàn)槠潆娐钒宀⒎菫榈凸乃鶅?yōu)化,且測(cè)試中連接了HDMI視頻輸出。
在整數(shù)基準(zhǔn)測(cè)試中,Xavier的性能非常均衡,但并非最強(qiáng)。總體而言,在大多數(shù)工作負(fù)載下的性能與驍龍845中使用的小改版Cortex A75非常相似,唯一不同的是462.libquantum測(cè)試項(xiàng),Xavier憑借更大的內(nèi)存帶寬跑出了更高的性能。
在功耗和能耗比方面,Xavier不是最好的,但也在情理之中。事實(shí)上Xavier針對(duì)的是一個(gè)完全不同的行業(yè),這意味著它的能耗優(yōu)化取向與手機(jī)等移動(dòng)設(shè)備大不相同。而且Xavier所使用的12nm FFN工藝也落后于Exynos 9810年和驍龍845所使用的三星的10nm LPP,更比不上麒麟980和蘋果A12所用的最新7nm工藝。
在浮點(diǎn)基準(zhǔn)測(cè)試中,Xavier的整體表現(xiàn)更好,尤其是在433.milc和470.lbm等一些對(duì)內(nèi)存子系統(tǒng)敏感的測(cè)試項(xiàng)中。而在其他的測(cè)試項(xiàng)中,Xavier與Cortex A75的性能依然非常相似。
以下是一些基于ARMv8指令集的架構(gòu)在SPEC2006測(cè)試中的性能比較:
無(wú)法量化對(duì)比Carmel架構(gòu)的一方面原因是它特殊的特性,這是一款帶有ASIL-C功能安全功能的CPU,目前在這方面唯一可對(duì)比的競(jìng)爭(zhēng)對(duì)手是Arm最新的自動(dòng)駕駛芯片Cortex A76AE。雖然后者至少在未來(lái)一年或更長(zhǎng)時(shí)間內(nèi)都無(wú)法流片,但隨著Arm投身到這一領(lǐng)域,Carmel架構(gòu)和Xavier芯片的后輩們可能會(huì)面臨激烈的競(jìng)爭(zhēng)。
總體而言,Carmel架構(gòu)對(duì)于NVIDIA及其內(nèi)部微架構(gòu)體系來(lái)說(shuō)是一個(gè)巨大的進(jìn)步,然而在與其他公司的最新架構(gòu)進(jìn)行比較時(shí),Carmel架構(gòu)在性能和能耗上都沒(méi)能表現(xiàn)出一戰(zhàn)定乾坤之能,略遜于前輩Denver的風(fēng)采。鑒于Xavier使用的12nm FFN工藝與最新的7nm有著一兩代的代差,Jetson AGX也不是為低功耗而生的平臺(tái),這也是意料之中的事情。
SPEC2006測(cè)試之多核效能
在以往的測(cè)試中,由于移動(dòng)設(shè)備上溫度墻和功耗墻的存在,很難在CPU測(cè)試探出這些芯片和架構(gòu)真正的多核效能,而Jetson AGX平臺(tái)則沒(méi)有這些問(wèn)題,無(wú)論供電還是散熱都有充分保障,這使它成為測(cè)試Xavier芯片和Carmel架構(gòu)多核效能的絕佳機(jī)會(huì)。
多核效能測(cè)試在4核和8核上執(zhí)行,整數(shù)測(cè)試結(jié)果顯示,4核運(yùn)行時(shí)的性能與預(yù)期大致相仿,但在8核齊開的狀態(tài)下,其性能要比預(yù)期稍低一些。為了更好地展示測(cè)試結(jié)果,我們將4核和8核的測(cè)試成績(jī)換算成倍數(shù),與單核性能進(jìn)行比較:
可以看出,在大多數(shù)測(cè)試項(xiàng)中,4核的效能都在單核的3.6~4.2倍之間,只有少數(shù)低至3.2倍,而8核齊開時(shí),卻在近半測(cè)試項(xiàng)中卻出現(xiàn)了效能只有5.X倍的情況。
由于Xavier的CPU部分由4個(gè)CPU集群組成,2個(gè)CPU核心之間共享2MB L2緩存,因此可能會(huì)出現(xiàn)集群中的核心之一資源受到約束的情況。在默認(rèn)情況下,Xavier的核心調(diào)度方式是優(yōu)先在每個(gè)集群中各填充一個(gè)核心,然后再調(diào)度余下的核心。
而這也就意味著在4核效能測(cè)試中,每個(gè)集群各調(diào)用了一個(gè)核心,每個(gè)核心都相當(dāng)于獨(dú)占了2MB L2緩存使用;而在8核效能測(cè)試中,L2緩存必須在兩個(gè)核心之間共享,從而產(chǎn)生兩個(gè)核心搶占緩存資源導(dǎo)致效能變差的情況。462.libquantum等工作負(fù)載在這種CPU設(shè)置下受到嚴(yán)重影響。
同樣的分析也適用于浮點(diǎn)測(cè)試,一些對(duì)內(nèi)存不太敏感的測(cè)試項(xiàng)在核心數(shù)量改變時(shí)沒(méi)有那么多問(wèn)題,但在433.milc和470.lbm等測(cè)試項(xiàng)中,8核全開時(shí)的效能同樣不盡人意。
綜合來(lái)看,NVIDIA對(duì)于Xavier的CPU集群設(shè)計(jì)是非常獨(dú)特的,也許NVIDIA認(rèn)為Jetson AGX所面對(duì)的大部分工況在核心擴(kuò)展方面都不成問(wèn)題,亦或是認(rèn)為在機(jī)器人或自動(dòng)駕駛場(chǎng)景下集群中的核心都在鎖定狀態(tài)下同步運(yùn)行,理論上不會(huì)出現(xiàn)共享L2緩存時(shí)可能存在的資源爭(zhēng)用問(wèn)題吧。
NVIDIA的Jetson AGX平臺(tái)為機(jī)器人何自動(dòng)駕駛平臺(tái)提供了充裕的靈活性和基礎(chǔ)性能,其最大的賣點(diǎn)是Xavier強(qiáng)大的視覺(jué)計(jì)算和機(jī)器推理性能。
對(duì)于關(guān)注NVIDIA自研Carmel架構(gòu)的人來(lái)說(shuō),實(shí)測(cè)結(jié)果顯示其單核性能略高于Arm Cortex A75,多線程性能也很不錯(cuò),盡管在某些場(chǎng)景下8核全開的效能會(huì)跌落一些,但在機(jī)器人和自動(dòng)駕駛領(lǐng)域,這樣的設(shè)計(jì)或許反而會(huì)化腐朽為神奇,一切還都未可知。
雖然在常規(guī)測(cè)試中沒(méi)有拔得頭籌,但考慮到其時(shí)間節(jié)點(diǎn),Xavier依然是一顆強(qiáng)大且均衡的SoC。在眼下的AI芯片領(lǐng)域都在追求純AI運(yùn)算的精簡(jiǎn)設(shè)計(jì)時(shí),NVIDIA是唯一沒(méi)有放棄高性能CPU的一家,同時(shí)也是將CPU、GPU、AI三部分平衡做的最好的一家。
據(jù)雷鋒網(wǎng)了解,目前還有很多視覺(jué)算法仍處于非常傳統(tǒng)的階段,無(wú)法通過(guò)GPU或Tensor Core加速,只能依靠強(qiáng)大的CPU來(lái)硬扛,在這些場(chǎng)景下,只有Xavier這樣擁有高性能CPU的芯片才能夠堪當(dāng)大用。
雖然Jetson AGX開發(fā)套件價(jià)格高達(dá)2500美元,但對(duì)于那些需要大量視覺(jué)處理,或需要實(shí)現(xiàn)工業(yè)自動(dòng)化的公司而言,Jetson AGX絕對(duì)是比其他平臺(tái)更容易接受且更開放的選擇。
雷鋒網(wǎng)認(rèn)為,Jetson AGX相比其他產(chǎn)品更有價(jià)值的一個(gè)方面是NVIDIA正在創(chuàng)建一個(gè)強(qiáng)大的軟件生態(tài)系統(tǒng)和開發(fā)環(huán)境,使開發(fā)者能夠更輕松地實(shí)現(xiàn)其產(chǎn)品。對(duì)NVIDIA來(lái)說(shuō),未來(lái)的挑戰(zhàn)在于如何保持對(duì)Arm公版架構(gòu)的領(lǐng)先,以及如何維持廠商的認(rèn)可度。
via:Anandtech
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。