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