Clik here to view.

目前 x86 架構處理器統治著 PC 和伺服器市場,而 Arm 架構處理器則統治著行動市場,並在 IoT 市場佔據著較大的市佔率。但是,近年來 RISC-V 架構則憑藉著開源、指令精簡、可擴充等優勢,在注重能效比的物聯網領域大受追捧。
在 RISC-V International 及相關晶片廠商的推動下,RISC-V 也開始進入更高性能需求的伺服器市場。
2023 年初,RISC-V International 將 HPC 確定為 RISC-V 增長的戰略優先領域,再加上最近批准的向量擴充和大量移植關鍵 HPC 庫和工具的 HPC 軟體工作,很明顯,這一領域的勢頭正在迅速增長。
世界各地的很多項目,如歐洲 eProcessor 項目、擁有上千 RISC-V 核心的 Esperanto CPU,以及旨在開發 RISC-V 關鍵軟體元件支援的多供應商 RISE 項目,都有可能推動 RISC-V 在包括 HPC 在內的高階電腦中普及,並最終使其能夠圍繞這一技術建構超級電腦。
此外,早期的應用研究對RISC-V可以為高性能工作負載帶來的好處也表示讚同。
2022年12月,晶片初創企業 Ventana Microsystems 公司在 RISC-V 峰會上發表了全球首款面向服務市場的基於 RISC-V 架構的最高 192 核 CPU——Veyron V1。
據介紹,Veyron V1 採用先進的 5nm 製程工藝,基於 Ventana 自研的高性能 RISC-V 核心,8 流水線設計,支援亂序執行,主頻高達 3.6GHz,每個叢集最多 16 個核心,多叢集最多可擴充至 192 核,擁有 48MB 共享 L3 快取,擁有進階側通道攻擊緩解措施、IOMMU 和進階中斷架構(AIA)、支援全面的 RAS 功能、自上而下的軟體性能調整方法,可以滿足資料中心的各種需求。
Image may be NSFW.
Clik here to view.
根據 Ventana 透露的資料顯示,在 SPECint 2017 測試中,128 核版本的 Veyron V1 在300W 功耗下,大幅性能領先於 64 核的 AMD EPYC Milan 7763(280W),並且達到了64 核 AWS Graviton G3(Neoverse v1核心)、40 核 Intel Xeon Ice Lake 8380(270W)的兩倍。當然這也主要得益於其核心數量達到了競品的兩倍。
需要指出的是,Veyron V1 並沒有 SIMD 或向量執行單元,這對上有 AVX-512 的 Intel 或AMD 的伺服器處理器會非常吃虧。
另外,Veyron V1 目前還沒有量產,之前承諾的是今年Q2或Q3向客戶提供樣品。所以,以上官方公布的資料都還是書面上的資料。
近日,國外研究人員 Nick Brown 透過 RAJAPerf 基準測試對於這款晶片進行了實測,發現其與最新的廣泛可用的 RISC-V 晶片相比,其平均每個核心的性能提高了 5 到 10 倍。但是在多執行緒工作負載下,x86 高性能 CPU 的平均性能依然達到了它的 4-8 倍。
據該研究報告顯示,該 64 核 RISC-V 處理器,運行頻率為 2 GHz,由四個高性能的 C920 核心組成,並採用了 12 級無序多問題超標量管道設計。
C920 提供 RV64GCV 指令集,具有三個解碼、四個重新命名/調度、八個發表/執行和兩個載入/儲存執行單元。支援向量化標準擴充(RVV v0.7.1),向量寬度為 128 位,支援資料類型FP16、FP32、INT8、INT16、INT32 和 INT64。然而,C920 並不支援 FP64 向量化
研究稱,雙精度浮點是絕大多數高性能工作負載的基礎,因此能夠支援向量化這些操作的核心可能會為 HPC 提供更高的性能。每個 C920 核心還包含 64KB 的 L1 指令(I)和資料(D)快取,1MB 的 L2 快取,在四個核心的叢集之間共享,64MB的L3系統快取,由叢集中的所有核心共享。還提供四個 DDR4-3200 記憶體控製器和 32 條 PCIe Gen4 通道。
HPC 工作負載的一個重要考慮因素是向量化,由於 C920 核心僅支援 RVV v0.7.1,編譯器支援是一個挑戰。RISC-V GNU 編譯器的當前上游版本不支援任何版本的向量擴充。雖然 GNU 儲存庫包含一個 rvv 下一個分支,其目的是支援 rvv v1.0,但在研究人員撰寫研究報告時,它並沒有得到積極維護。
此外,還有一個針對 rvv v0.7.1 的 rvv-0.7.1 分支,但該分支已被刪除。由於缺乏對主線 GCC 的支援,阿里平頭哥(T-Head)提供了自己的 GNU 編譯器分支(玄鐵GCC),該編譯器已針對其處理器進行了最佳化。
T-Head 的定製編譯器同時支援 RVV v0.7.1 和他們自己定製的自訂擴充。雖然已經提供了該編譯器的幾個版本,但作為其 20210618 版本的一部分,GCC8.4 提供了最佳的自動向量化能力,因此這是研究人員進行的基準測試實驗選擇的版本。
該版本的編譯器生成向量長度特定(VLS)RVV 元件,該元件專門針對 C920 的 128 位向量寬度。所有核心都在最佳化等級三進行編譯,所有報告的結果都在五次運行中取平均值。
與其他高性能 RISC-V 核心比較
研究人員比較了 SG2042 與賽昉(StarFive)開發板 VisionFive V1 和 Vision V2 的性能,V1包含賽昉 JH7100 SoC,而 V2 包含賽昉 JH7110 SoC。
JH7100 和 JH711 0這兩個 SoC 都是基於 64 位 RISC-V SiFive U74 核心建構的,JH7100包含兩個核心,JH7110 包含四個核心。SoC 被列為以 1.5GHz 運行,U74 核心包含 32KB(D)和 32KB(I)L1 快取,兩種 SoC 型號還包含核心之間共享的 2MB L2 快取。
然而,SiFive U74 僅提供 RV64GC,因此不支援 RISC-V 向量擴充。
Image may be NSFW.
Clik here to view.
從上圖可以看出,單個 C920 核心在雙精度和單精度方面都優於 V2 和 V1 的 U74 核心。
在雙倍精度下,C920 核心的平均性能是 V2 中 U74 以雙倍精度執行階段的 4.3 至 6.5 倍。此外,在單精度下,C920 的性能是基準測試平均性能的 5.6 至 11.8 倍。這是一個令人印象深刻的性能提升,並且 C920 核心上沒有比 U74 運行得慢的核心。
一些核心在 C920 上的性能非常令人印象深刻,例如,來自演算法組的記憶體集基準在 FP32 中的運行速度是 U74 的 40 倍,在 FP64 中運行速度是 U74 的 18 倍。
需要強調的是,該基準測試在這些核心上都是以儘可能好的組態,即 C920 上利用了向量化,但是 U74 不支援向量化,因此在 V1 或 V2 上不可用。
SG2042 上的 FP32 和 FP64 之間存在顯著的性能差異,這表明事實上 C920 向量運算不支援FP64。相比之下,在 V2 上運行雙精度和單精度之間的性能差異要小得多。
圖 1 中結果的一個方面讓研究人員感到驚訝的是,VisionFive V1 比 V2 慢得多。考慮到測試只是在單核上運行 RAJAPerf,所以晶片的雙核和四核性質並不重要,因為它們都包含相同的 U74核心,那麼其性能應該相當相似。
但是,在雙倍精度下,V1 比 V2 慢了六倍到三倍,單精度則慢了一倍到三倍。雖然可以假設 V1 可能以比 V2 更低的時脈頻率運行,儘管它們在資料表中都被列為以 1.5GHz 運行,但機器上沒有任何檔案或輸出可以證實這一點。
從圖 1 中可以看出,與現有的、公開可用的商品 RISC-V核心相比,單個 C920 核心所獲得的性能令人印象深刻。T-Head 將該核心描述為一種高性能 RISC-V 處理器。
測試也表明,其與 U74 相比,在整個基準測試套件中的性能有了很大的提高,U74 以前被認為是廣泛可用的 RISC-V CPU 的最佳選擇,可以在其上進行 HPC 工作負載的實驗。
除了單核性能外,SG2042 在核數量方面也顯著領先於 V1 的 JH7100 和 V2 的JH7110 SoC。
與 x86 伺服器 CPU 性能比較
那麼相對於其他商用的 x86 伺服器晶片,SG2042 在 HPC 工作負載中的表現如何呢?
對此,研究人員將其與當前一代伺服器中使用的其他 CPU 進行了比較,分別為 64 核的 AMD Rome EPYC 7742、18 核的 Intel Broadwell Xeon E5-2695、28 核的 Intel IceLake Xeon 6330、4 核心的 Intel SandyBridge Xeon E5-2609。
測試只在這些 x86 CPU 的物理核心上執行,因為預設情況下停用了所有 SMT。
Image may be NSFW.
Clik here to view.
AMD EPYC 7742 在四個 NUMA 區域中包含 64 個物理核心,每個區域有 16 個核心,但有八個記憶體控製器。每個核心包含 32 KB(I)和 32 KB(D)L1 快取,512 KB 的 L2 快取,四個核心之間共享 16 MB的 L3 快取。EPYC 7742 提供支援 AVX2,具有 256 位元寬的向量暫存器,是 SG2042 的兩倍,並支援 FP64 的向量化。
Intel Xeon E5-2695 的 18 個物理核心位於一個 NUMA 區域中,提供 32 KB(I)和 32 KB(D)L1 快取,256 KB 的 L2 快取,以及 45 MB 的跨核心共享的 L3 快取。與 AMD EPYC 7742 類似,Xeon E5-2695 支援 AVX2,並且有四個記憶體控製器。
Intel Xeon 6330是比較的最新CPU,所有28個物理核心都在一個NUMA區域中,具有8個記憶體控製器,具有32KB(I)和48KB(D)L1快取,每個核心1MB L2快取,以及43MB共享L3快取。Xeon 6330支援AVX512,並提供512位元寬的向量暫存器。
Intel Xeon E5-2609屬於本次測試當中最古老的CPU,其於2012年發表,僅提供四個物理核,每個核都有64KB(I)和64KB(D)L1快取,以及256KB的L2快取和共享的10MB L3快取。該E5-2609僅支援AVX,因此向量暫存器長度與SG2042相同,為128位元,儘管AVX支援FP64。
在所有測試當中,研究人員停用了x86物理核心的超執行緒。除了ARCHER2之外,研究人員在所有系統上都使用GCC版本8.3,編譯始終在最佳化等級O3下進行。全部在性能最高的執行緒數量上執行的系統。
Image may be NSFW.
Clik here to view.
從測試結果來看,除了除了古老的Xeon E5-2609核心之外,所有x86核心的性能都優於C920,後者在流和演算法基準類中的平均性能較慢。
AMD EPYC 7742和Intel Xeon 6330 CPU的表現往往優於Intel Xeon E5-2695,這是可以理解的,因為Xeon E5-2695是這三款CPU中的老款。
Image may be NSFW.
Clik here to view.
從上圖可以看出,AMD EPYC 7742在單精度執行時與雙倍精度執行時相當乏善可陳,而Intel處理器的平均性能也一樣好,事實上,當使用FP32時,古老的Xeon E5-2609核心在每種等級上的平均性能都優於C920。
然而,圖5中的平均條形圖並不能提供完整的圖片。
C920僅支援FP32的向量化,事實上,從圖5和圖4中的線條可以看出,FP32的許多基準類的最大速度比FP64快。
此外,有更多運行速度最慢的核心在x86 CPU上的執行速度比FP32上的C920慢。這些核心是有效應用自動向量化的地方,事實上,可以看出,對於lcals基準類,所有x86 CPU上至少有一個核心的性能低於C920。
總結來說,在單核性能比較上,FP32下的AMD EPYC 7742平均表現要比C920快3倍,Intel Xeon E5-2695要快2倍,Intel Xeon 6330也要快4倍,Xeon E5-2609則快2倍,FP64下的這些數字則分別快4倍、4倍、5倍和20%。
Image may be NSFW.
Clik here to view.
上圖展示了針對雙精度FP64的性能比較。
可以看出,basic、lcals、polybench和stream類測試從更多的核心中受益最大,因此SG2042的平均性能優於古老的Xeon E5-2609。
Image may be NSFW.
Clik here to view.
上圖展示了FP32的多執行緒性能比較,這些結果包含最大的差異。為了提高可讀性,研究人員限制了縱軸,並標記了超過該值的實際數值。
在多執行緒FP32方面,SG2042往往比FP64在與x86 CPU的競爭中表現得略強,儘管polybench類是一個異常,因為它在三個最新的x86 CPU上的表現要好得多,而Intel Xeon E5-2609的表現則差得多。
總結來說,在SG2042多執行緒性能與x86 CPU進行比較時,在FP32和FP64上運行的所有基準類型測試中,其64核平均性能優於4核的Intel Xeon E5-2609。
64核的AMD EPYC 7742在FP32和FP64方面的性能分別是SG2042的8倍和5倍。18核的Intel Xeon E5-2695在單精度和雙精度方面分別平均達到了6倍和4倍。最後,28核的Intel Xeon 6330在FP32和FP64方面的表現分別是其6倍和8倍。
結論
研究人員表示,儘管當前有許多公司在開發高性能RISC-V硬體原型,但到目前為止,當希望在可商用的RISC-V軟體上運行工作負載時,選擇非常有限。
不管怎樣,儘管這些解決方案能夠對RISC-V進行實驗,但它們並不能在體系結構上提供生產高性能工作負載所需的功能。因此,儘管HPC社群對RISC-V很感興趣,但它還沒有完全準備好迎接這項技術。
當然,作為世界上第一款廣泛可用的針對HPC的多核RISC-V伺服器晶片,SG2042可能會大大提高HPC社群對RISC-V的興趣和採用率。然而,一個關鍵的問題是其與當前一代超級電腦中普遍存在的x86 CPU相比依然有著較大的差距。
不過,與目前可商用的RISC-V硬體相比,這是一款非常令人興奮的RISC-V伺服器晶片,它提供了一些重大的變化。
雖然性能還沒有達到x86伺服器CPU的水準,但應該強調的是,RISC-V供應商在短時間內取得了長足的進步。相比之下,x86 CPU有著悠久的歷史,並從他們多年的開發中受益。
目前RISC-V進入伺服器CPU市場的競爭對手主要還是Arm伺服器CPU,畢竟其理論上RISC-V CPU可以擁有相比Arm CPU更低的成本、更高的定製化和可擴充性。
對於下一代高性能RISC-V處理器來說,研究人員認為,提供RVV v1.0將非常有用,因為這將提供使用用於編譯向量化程式碼的主線GCC和Clang。
此外,提供FP64向量化、更寬的向量暫存器、增加的L1快取記憶體以及每個NUMA區域更多的儲存器控製器也可能帶來顯著的性能優勢,並有助於縮小與x86高性能處理器的差距。
加入電腦王Facebook粉絲團