You are browsing the Hong Kong website, Regulated by Hong Kong SFC (CE number: BJA907). Investment is risky and you must be cautious when entering the market.
1100個RISC-V內核的AI芯片
格隆匯 07-29 11:32

本文來自格隆匯專欄:半導體行業觀察

如果你去詢問十位不同的工程師,他們將如何設計 AI 加速器,您將獲得十種不同的方法來在現代前沿芯片上排列數十億個晶體管。

來到 Esperanto Technologies方面,因為公司創始人Dave Ditzel 等人在CPU設計上擁有豐富的經驗,所以他們對機器學習芯片設計有獨到的見解——如果一個定製 CPU 還不夠,那麼兩種設計怎麼樣?憑藉近 240 億個晶體管的預算,Esperanto 設法在他們的第一個 AI 加速器 ET-SoC-1 上集成了1,100 個基於RISC-V設計的內核。

ET-SoC-1是“Esperanto Technologies Supercomputer-on-Chip 1”的簡稱。這是一款面向超大規模數據中心市場,是初創公司Esperanto的人工智能加速器系列的第一款產品。ET-SoC-1 是一款推理加速器,而不是訓練。雖然芯片的設計已經完成,但截至今年早些時候,我們還沒看到任何他們的芯片。但早在2020年的時候,大家就對Esperanto有所討論。毫無疑問,公司的開發計劃顯然已經推遲。因為如果新的時間表保持不變,那麼芯片應該會在本季度回片,預計在 2022 年初投產。

在其他 AI 初創公司已經生產芯片樣品一年多之後,延遲兩年是代價是相當昂貴的。儘管如此,Esperanto終於準備好在 8 月舉行的 Hot Chips 33 會議上分享新芯片的技術細節。

Esperanto Technologies 首席執行官 Art Swift 發佈了一些關於該芯片性能的披露。Swift 表示,“我們希望能在推薦網絡(recommendation networks)等關鍵工作負載上的性能提高多達 50 倍,圖像分類(image classifications)的性能提高多達 30 倍。”

這些聲明指的是 ET-SoC-1 的全芯片仿真與“數據中心現有競爭對手”的測量推理基準測試的對比結果。“但可能更令人興奮和更重要的是我們的芯片能夠獲得更好的功耗表現。與現有解決方案相比,我們預計每瓦特推斷的能源效率將提高 100 倍,”他補充道。

過於這些寬泛的性能陳述,我們必須持保留態度,但Esperanto説,我們可以期待在不久的將來看到已發佈的表徵硅結果。

Tile Up

Esperanto使用基於平鋪架構(tiled architecture)的常規設計。該芯片使用該公司定製設計的 RISC-V 兼容 CPU 內核,它使用具有傳統內存層次結構的標準 DDR4 內存,並利用了所有可用的 RISC-V 軟件生態系統。換句話説,就所有實際目的而言,ET-SoC-1 作為標準 RISC-V 服務器 CPU 通過了Duck Test,儘管它有很多簡單的內核,但在一般工作負載上卻表現不佳。

事實上,Esperanto認為,正是出於這個原因,他們的解決方案在很大程度上是面向未來的。該公司表示,它結合了大量 CPU,可以從數百個內核擴展到數千個內核。事實上,由於 ET-SoC-1 是為數據中心設計的,對於邊緣推理等低功耗應用,我們可能會期待 ET-SoC-1 的相同縮減版本。什麼時候Esperanto首先開始在極高的層次上談論他們的設計,他們將芯片的內核數量推論為我們將在本文中討論的 ET-SoC-1 的 4 倍。如果 Esperanto 的設計證明了自己,那麼在這樣的方向上擴展 ET-SoC-1 並不超出 Esperanto 的能力範圍。

定製核心

Esperanto走的是RISC-V路線。他們設計了兩個定製內核——ET-Minion 和 ET-Maxion。顧名思義,ET-Maxion 是典型的大內核設計,能夠運行 Linux 等標準操作系統。同樣,ET-Minion 是主力小型 CPU,具有用於處理矩陣乘法等操作的自定義張量擴展。在 ET-SoC-1 的上下文中,ET-Maxion 用作控制 CPU,而 ET-Minions 執行繁重的數據處理。

(1)ET-Maxion

正如我們之前提到的,ET-Maxion 是一種定製的高性能大核設計。基於台積電 7nm工藝設計並且頻率超過 2 GHz。

ET-Maxion 實際上是加州大學伯克利分校亂序機器 (UC Berkeley Out-of-Order Machine :BOOM) v2 CPU 的一個分支,但是已經進行了很多更改/改進以使其更具競爭力和商業產品所需的質量,以至於在這一點上幾乎無法識別該譜系.

事實上,開發 BOOM 的 Chris Celio 已經投奔Esperanto,從事 ET-Maxion 的研發工作(儘管自 2020 年以來,他以 CPU 架構師的身份加入英特爾)。與 BOOM 相比,ET-Maxion 觸及了機器的方方面面。它更寬、更長、更大。整個前端重新設計,各種執行單元重新設計。

它具有新的當代最先進的分支預測器(branch predictors)和預取器(prefetchers)。有新的底層(ground-up)緩存和支持 ECC 的 TLB。最後,Esperanto增加了商業級芯片調試和性能監控功能。在性能方面,據説 ET-Maxion 在 SPEC2006 的 ISO 頻率上略微落後於 Cortex-A72,但領先於 Cortex-A57。在 SiFive 最近宣佈P550之前,ET-Maxion 可能是 RISC-V 世界中可用的最高性能內核。最近,SiFive 推出了 P550 內核,據稱該內核在 2006 年的 SPECInt 得分為 8.65/GHz,在 IPC 中的表現明顯優於 ET-Maxion(和 A72)。

ET-Maxion 是一個具有 10 級流水線的無序 CPU 內核。內核是一個四寬機器——每個週期能夠獲取 16B,解碼它們,並以每個週期 4 條指令的速率將它們分派到後端。從具有奇偶校驗(parity )和 ECC 支持的 32 KiB 分塊指令緩存中獲取指令。Esperanto説,他們相當多的工作都投入到一個新的最先進的條件預測器和一個由 2K 條目壓縮 BTB 支持的基於路徑的間接預測器上。

分支預測器包括兩級預測器。一個快速的、基於單週期 BTB 的預測器執行初始猜測,該猜測得到第二級、較慢的多週期、高精度分支預測器的支持,後者可能會覆蓋它。

每個週期,最多可以向調度程序發送四個指令。ET-Maxion 使用分佈式調度器(distributed scheduler )設計,總容量為 64 個條目。其中LSU 有一個調度程序,FPU 有一個調度程序,複雜 ALU 有一個調度程序,簡單 ALU 有一個調度程序。請注意,有兩個簡單的 ALU,複雜的 ALU 單元也能夠處理分支操作。

執行單元由一個 64-entry 的浮點物理寄存器文件(physical register file)和一個 128-entry的整數物理寄存器文件提供。在執行單元方面,機器有五個寬,兩個簡單的整數單元位於單個調度程序上。每個週期最多可以安排 5 條指令執行。浮點單元為 64b 寬,完全支持 RISC-V 32 位 (F) 和 64 位 (D) 浮點擴展。

總體而言,內核的上限是其128-entry的重新排序緩衝區,與機器的前端一樣,每個週期最多可以退出 4 條指令。

Esperanto最初考慮使用自定義 ISA,但由於其簡單性,他們最終選擇了 RISC-V。該公司解釋説,簡單的架構使他們能夠將更多的精力集中在性能特性上,而不是解決其他 ISA 的極端問題。

ET-Maxion 的平面圖如下所示。請注意,這是沒有顯示 L2 的核心。從die plot可以看出,相當大的面積用在了緩存陣列(幾乎佔面積的1/3)和分支預測單元上。核心的頂部是硬件預取器 (HPF)(僅限 L1),與其他組件相比,它非常大。選擇使用更積極(更慢但更準確)的預取器使他們能夠將其放置在關鍵路徑的頂部和外部,從而簡化接線。

(2)ET-Minion

ET-Minion 是來自Esperanto的第二個定製 CPU 內核。這個內核和上一個有很大的不同,更有趣一點。ET-Minion 也是 64 位 RISC-V 處理器,但這是一台有序機器。

由於這是一個面向吞吐量(throughput-oriented)的核心,它也是多線程的,具有兩個可以在停頓時交替的線程。ET-Minion 採用流水線標量設計——每個週期獲取、解碼和發出一條指令。(請注意,下圖可能缺少一些細節,因為Esperanto主要討論了核心的矢量功能)。

針對推理加速,Esperanto的祕密武器是ET-Minion的執行引擎。ET-Minion 的後端是向量密集型的,並且只有一個執行單元來執行 RISC-V 架構所需的所有必要 (64b) 操作。核心的大部分包括兩個向量流水線(vector pipelines)。有一個 256b 的浮點向量單元和一個 512b 的整數向量單元。伴隨這些向量單元的是兩個寄存器文件——一個 32-entry的 256b FP 寄存器文件(register file)和一個 32-entry的 256b 整數寄存器文件。請注意,這些寄存器文件對於每個線程都是重複的(即,總共 64 個條目)。

FP 矢量單元細分為 8×32 位 FMA,能夠執行高達 16 SP FLOPs/cycle 或 32 HF FLOPs/cycle。整數向量單元的寬度為 512b,是 FP 向量單元的兩倍。該單元細分為 16×32 位 TIMA,能夠執行多達 128 個 INT8 OP/週期。雖然可以從 FP 向量寄存器文件中輸入 FP 向量單元,但兩倍寬的整數向量單元需要從 FP 向量寄存器文件中獲取一半的向量 (256b),另一半從其自己的私有整數中獲取組合的 512 寬向量的寄存器文件 (256b)。

Esperanto 在 ET-Minion 中加入了大量的浮點運算能力,這與其他當代加速器形成了鮮明的對比。通常我們看到的加速器只提供 INT8 操作。雖然您可以從 8 位量化中獲得相當高的保真度,但Esperanto對於需要 FP16(或 32)的工作負載確實具有優勢。

除了向量單元之外,ET-Minion 還包含一個向量超越單元(vector transcendental unit ),可以執行如各種三角函數、指數和對數等超越函數(transcendental functions),以加速諸如激活函數(activation functions)之類的事情。trans 單元是基於 ROM 的,有利於降低芯片的功耗。

這裏的向量單位還有許多其他細微差別。除了標準的 RISC-V 指令外,Esperanto還實現了自己的指令擴展。他們添加了多週期張量指令和伴隨的向量超越指令(ector transcendental instructions)。

這一舉措會讓我們的一些讀者感到有些不安,尤其是因為Esperanto已經如此多地談論了 RISC-V 的好處。但現實是,RISC-V 和所有其他 ISA 一樣,沒有任何加速 AI 的具體説明,此類擴展是邪惡的。事實上,RISC-V 基金會預見到了這一點,並將自定義擴展直接融入到規範中,這就是為什麼 Espernato 可以以標準方式做到這一點。目前尚不清楚Esperanto是否會公開披露其擴展指令,或者他們是否計劃將其保留為專有,因為這與他們聲稱的面向未來的説法背道而馳。

多週期張量指令允許內核讀取單個指令,並且通過使用張量定序器( sequencers)狀態機,它可以重放一系列超過 100s 甚至 1000s 週期的操作。與大多數定序器一樣,ET-Minion 時鐘對整個前端以及在發佈和執行張量操作時未使用的每個其他單元進行門控。這允許內核進一步降低功耗。

順便説一下,ET-Minion的物理設計本身就非常獨特。流水線的每級門數設計為低(low gate count),以提高低電壓下的頻率。Esperanto更進一步,設計了自己的定製 SRAM,而不是使用台積電的標準 SRAM 產品。這些cell雖然體積較大,但可以在相當低的電壓下穩定運行——遠低於標稱值。

“當我談論低電壓操作時,我的真正意思是在遠低於標稱電壓的情況下操作。因此,如果標稱電壓為 0.75 V 左右,我們的工作電壓約為 400 mV,”Swift説。

Minion  Neighborhood

將八個 ET-Minions 組合在一起,您就會得到Esperanto所説的 Minion Neighborhood。在一個neighborhood內,每個內核競爭性地共享指令緩存。緩存容量為 32 KiB。每個週期,一個緩存行被髮送到兩個內核。換句話説,指令緩存在每個週期輪詢一對內核,將 64B(16 條指令)發送到兩個獨立的內核。內核對線路進行緩衝,允許它們在指令緩存繼續為其他內核供電時繼續運行。

然後將四個neighborhood組合成一個 Minion Shire,總共有 32 個核心。每個八核neighborhood通過交叉開關( crossbar)連接到四組 L2 內存。L2 包含四個 1 MiB SRAM 組,可通過軟件配置為高速緩存或暫存器存儲器。在暫存器配置下,整個內存是一個大地址空間,軟件可以使用它以精確的方式組織數據,並以此方式訪問數據。

有趣的是,L2 緩存——默認情況下是每個 Minion Shire 私有的——也可以配置為可以跨越整個芯片的最後一級緩存。所有這些功能都以per-bank granularity提供。例如,一個 bank 可以保留為暫存器,而另一個 bank 用於 1 MiB/Shire LLC,另外兩個 bank 可以配置為 2 MiB 的私有 L2 緩存。每個Shires都可以通過網狀互連與其他Shires進行通信,每個Minion Shire都有一個mesh stop。

由於 ET-Minion 的低壓設計,neighborhoods和crossbar 都位於Shire內自己的低壓電源平面上。Shire 的其餘部分(例如,分組 SRAM 和網狀互連組件)位於標準電壓平面上。

Tiled Architecture

Tile設計很簡單,每個 Minion Shire 都通過mesh stop連接到任何其他 Shire 和芯片上的任何其他組件。mesh stop在四個主要方向(cardinal directions)中的每一個方向上都包含兩個單向鏈接(unidirectional links)。這些鏈接似乎每個都是 1,024b 寬。Esperanto在芯片上有許多附加組件,例如內存通道和 PCIe 接口,它們也通過它們自己的網狀站點連接到整個網狀互連中。

ET-SoC-1

所有這一切最終將我們引向Esperanto的第一款產品——ET-SoC-1。

該芯片在 6×6 的網格中集成了 34 個 Minion Shires。網格上的兩個附加 tiles用於控制處理器集羣和 PCIe  tiles。34 個 Minion Shires 意味着芯片上有 1,088 個 ET-Minion 處理器以及 136 MiB 的可配置 L2 內存。實際上還有一個額外的獨立 ET-Minion 充當服務處理器。

最後,ET-SoC-1 將四核 ET-Maxion tile 與 4 MiB 的私有 L2 集成在一起,可用作自託管處理器(例如,運行 Linux)。雖然 ET-SoC-1 面向超大規模數據中心市場,這意味着它與更高性能的服務器處理器一起使用,但對於邊緣應用程序,ET-Maxions 將在實現全面的高性能可操作性方面發揮更大的作用。

該芯片通過低功耗 LPDDR4x 16x16b (256b) 接口供電。DRAM 控制器支持 32 GiB 的 DRAM,速度為 137 GB/s。

總而言之,ET-SoC-1 具有 1,093 (1088+1+4) 個內核,並通過 x8 PCIe Gen4 與外界接口。據説該芯片的典型工作功率約為 20 瓦或低於 20 瓦,這使Esperanto能夠符合 OCP M.2 加速器模塊的規格。我們還期望提供更高功率的 PCIe 卡。

從物理上講,該芯片採用台積電的 N7 工藝技術製造。Esperanto沒有透露芯片尺寸,但封裝了 238 億個晶體管,因此我們猜測該芯片的面積可能在 350 平方毫米以上。

雖然它的頻率可以達到 1.5 GHz,但名義上,芯片目標頻率約為 1 GHz,用於其 20 W 功率目標。單個 ET-Minion 能夠在 1 GHz 下達到 128 OPS (INT8)/週期或 128 GOPS。

假設所有 1,088 個 ET-Minions 都在做最有用的工作。在 1 GHz 時,我們看到整個芯片的峯值理論計算為 139.3 TOPS (INT8)。在 1.5 GHz 時,增加到 208.9 TOPS。

與許多其他加速器不同,ET-Minions 還支持完整的 32b 和 16b 浮點運算。因此,在 1 GHz 時,如果需要 FP16,ET-SoC-1 也能夠進行近 35 teraFLOPS(半精度)的峯值計算。在 1.5 GHz 時,它會上升到 52。

帶有 6 個 ET-SoC-1 芯片的 OCP Glacier Point V2 卡

由於該芯片適合 OCP M.2 加速器模塊,Esperanto 建議它可以封裝為 OCP Glacier Point V2 卡的六個 Esperanto Dual M.2 加速器模塊(三個在頂部,三個在底部)。這些設計旨在直接插入 OCP Yosemite v2 多節點服務器平台。

通過六個模塊,每個 Glacier Point 卡將擁有 6,558 個 RISC-V 內核以及 192 GiB 的 LPDDR4x 內存和 822 GB/s 的 DRAM 帶寬。在峯值理論性能下,該卡可以達到 835.6 TOPS (INT8) 或接近 210 teraFLOPS(半精度)。

一旦Esperanto的芯片回片,我們應該開始聽到更詳細的性能聲明。正如我們之前提到的,Dave Ditzel 將在 8 月即將舉行的 Hot Chips 33 會議上展示 ET-SoC-1,屆時他們可能會披露更多技術細節和基準。

Follow us
Find us on Facebook, Twitter , Instagram, and YouTube or frequent updates on all things investing.Have a financial topic you would like to discuss? Head over to the uSMART Community to share your thoughts and insights about the market! Click the picture below to download and explore uSMART app!
Disclaimers
uSmart Securities Limited (“uSmart”) is based on its internal research and public third party information in preparation of this article. Although uSmart uses its best endeavours to ensure the content of this article is accurate, uSmart does not guarantee the accuracy, timeliness or completeness of the information of this article and is not responsible for any views/opinions/comments in this article. Opinions, forecasts and estimations reflect uSmart’s assessment as of the date of this article and are subject to change. uSmart has no obligation to notify you or anyone of any such changes. You must make independent analysis and judgment on any matters involved in this article. uSmart and any directors, officers, employees or agents of uSmart will not be liable for any loss or damage suffered by any person in reliance on any representation or omission in the content of this article. The content of the article is for reference only and does not constitute any offer, solicitation, recommendation, opinion or guarantee of any securities, virtual assets, financial products or instruments. Regulatory authorities may restrict the trading of virtual asset-related ETFs to only investors who meet specified requirements. Any calculations or images in the article are for illustrative purposes only.
Investment involves risks and the value and income from securities may rise or fall. Past performance is not indicative of future performance. Please carefully consider your personal risk tolerance, and consult independent professional advice if necessary.
uSMART
Wealth Growth Made Easy
Open Account