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