本文來源: 電子工程專輯
原文作者: 黃燁鋒
原文鏈接:https://mp.weixin.qq.com/s/bGhAlOZguTirxik6ComGrg
雖然我們此前就多番探討過現(xiàn)階段RISC-V嘗試入侵高性能計算市場的可能性,但起碼現(xiàn)在提到RISC-V,大部分人的第一反應(yīng)仍然是嵌入式應(yīng)用。
其實RISC-V在高性能市場的探索,能夠列舉的例證還是比較多樣的,不僅是這個市場前一陣比較熱的Veteran。這次我們來看看另外一家準備在RISC-V高性能計算領(lǐng)域一展拳腳、而且算是含著金湯匙出生的企業(yè)Tenstorrent。
這家公司現(xiàn)在的CEO是鼎鼎大名的Jim Keller;另外很多人應(yīng)該知道,前一陣Raja Koduri從Intel離職后準備搞自己的初創(chuàng)公司,但與此同時他也是Tenstorrent的董事會成員之一;是不是感覺這公司還挺有花頭的?借著Tenstorrent的芯片路線圖及技術(shù)規(guī)劃,我們也能更進一步搞清楚RISC-V未來在HPC市場的可能性,以及AI芯片的發(fā)展趨勢。
01 RISC-V核的超寬微架構(gòu)
最早聽說Tenstorrent,我們普遍說這是個做AI芯片的公司,但在去年的RISC-V Summit峰會上,Tenstorrent的CPU首席架構(gòu)師Wei-han Lien特別談到了自家在做的CPU產(chǎn)品,核心代號Ascalon。這是個基于RISC-V指令集、亂序執(zhí)行超標量CPU,著力于AI與服務(wù)器的高性能市場。
其實能看到這家公司出現(xiàn)包括Wei-han Lien和Jim Keller在內(nèi)的名字,應(yīng)該就很容易想見,CPU甚至已經(jīng)是Tenstorrent的重頭戲了。Jim Keller暫且不提,Wei-han Lien曾經(jīng)在AMD、PA-Semi、蘋果都扮演芯片設(shè)計的重要角色。Tom's Hardware在報道文章中說,此人參與了蘋果A6、A7,甚至是M1 CPU微架構(gòu)設(shè)計工作。
有興趣的同學(xué)可以去油管看一看Wei-han Lien在去年RISC-V Summit峰會上的主題演講。他談到兩個點給我們留下了比較深刻的印象,其一是推出CPU的出發(fā)點應(yīng)當(dāng)在于輔助AI芯片(所謂companion CPU)。所以Tenstorrent的自研架構(gòu)CPU最重要職能就是“CPU for AI Computation”。
原因也很簡單,“很多人可能并沒有意識到在AI計算中,CPU扮演著非常非常重要的角色,尤其是在訓(xùn)練(training)方面。”Lien說,“有人知道數(shù)據(jù)中心AI訓(xùn)練過程中,CPU功耗多少嗎?不是10%,也不是20%,時間和功耗都超過了50%,包括CPU對數(shù)據(jù)的預(yù)處理和后處理?!焙笪臅劦?,Tenstorrent將Ascalon CPU核心集成到AI芯片上的方案。
其二是Lien談了為什么在指令集上選了RISC-V,而不是Arm。他說在2021年加入公司時,對ML處理器的companion CPU做評估,他去找了Arm詢問能否支持某種特定的數(shù)據(jù)類型,Arm的答復(fù)是不行。據(jù)說Arm對于這種程度的支持需要2年時間的內(nèi)部討論和與合作伙伴之間的磋商。所以RISC-V很快成為新選擇——Tenstorrent的AI芯片選擇的companion CPU IP就來自SiFive。
后續(xù)Tenstorrent又需要性能更高的CPU,于是就決定自己設(shè)計,也就有了Ascalon。HWcooling前不久發(fā)布的評論文章認為,Ascalon的超寬架構(gòu)設(shè)計和蘋果芯片很像。我們來看看Ascalon的一些設(shè)計大方向。
Tenstorrent的Ascalon核心具體為64bit的RV64ACDHFMV指令集架構(gòu),也就是說支持矢量指令集擴展——這在RISC-V世界來得算是比較遲的。
整體微架構(gòu)前端8-wide解碼(之前在談Veteran的RISC-V超寬微架構(gòu)時我們就提到了,其RISC-V核前端選配了8-wide取指),每周期能處理8個RISC-V指令——這個寬度和蘋果Firestorm的設(shè)計就類似了。
另外Ascalon架構(gòu)有6個整數(shù)ALU,2個分支執(zhí)行單元;而load/store三條管線還是比蘋果現(xiàn)行方案少了1個的(load/store分配情況未知),load/store隊列深度比較深,但具體是多少未知;
核心有2條FPU管線,用于浮點運算,并同時用作SIMD矢量單元——位寬256bit。其實就這個數(shù)字來看,SIMD吞吐仍未達到x86服務(wù)器平臺競品的程度——雖然光看紙面位寬和管線數(shù)字并不可靠。
國外媒體還提到Tenstorrent采用了“先進的TAGE分支預(yù)測器”;cache容量情況未知,但“L1顯然會和蘋果的128KB, 8-way associativity類似”;“從指令cache取指應(yīng)當(dāng)為32bytes/cycle”;還有一些關(guān)鍵信息未知,例如ROB深度,有一定概率與蘋果芯片的思路相似,即比較高的亂序度。則核心的IPC理論上就會很理想,不需要太高的頻率。
演講中,Lien提到目前工程師已經(jīng)在搞RTL和物理設(shè)計,右下角那張圖就是die photo。下面兩張圖給出了核心設(shè)計的難度、模塊化方案、如何做性能建模等等...本文不再做展開,有興趣的可以去看看演講視頻。
02. 128核心的集群組成chiplet
實際上,根據(jù)decode解碼寬度,Tenstorrent準備了5個不同的CPU IP,面向不同的應(yīng)用:是同一方案的不同規(guī)模實施。按照解碼寬度和性能,做了如下切分:
從2-wide解碼,到8-wide解碼,達成不同的PPA目標,也就面向不同的應(yīng)用:涵蓋了邊緣設(shè)備、客戶端PC、HPC高性能計算等,似乎還有一些更基礎(chǔ)的應(yīng)用。其實就核心層面就做這么多種設(shè)計,多少就有點IP公司的意思了——授權(quán)IP的確也是這家公司的盈利模式之一,后文會談到。
當(dāng)Ascalon核心組成集群(cluster),多核方案形如上圖所示——一個集群可以配8個Ascalon核心(也就是最大8-wide的那個核心);集群內(nèi)12MB共享集群cache;此外走向集群外部fabric的CHI coherency bus帶寬230GB/s;也有non-coherency bus,230GB/s,面向加速單元。
Lien特別提到,共享集群cache和scratchpad memory相關(guān)的存儲一致性方案,“不僅讓Ascalon核心非常適用于常規(guī)服務(wù)器的高性能核心,而且很適合用于AI計算”。
基于核心集群可以構(gòu)成128個核心的設(shè)計(AEGIS Chiplet系統(tǒng)架構(gòu)),作為AI的companion CPU集群。整個系統(tǒng)切分成了4塊,每一塊都是cc-NUMA(cache coherency non-uniform memory access)結(jié)構(gòu),Lien的原話是“fully coherency system”。
整顆chiplet本身配有die-to-die接口,ppt上只提到了針對可擴展性達成“充足的帶寬”。后面Lien在介紹Black Hole系統(tǒng)的時候,似乎有提到雙芯(dual-chip)的2TB/s die-to-die帶寬。
上述方案以IP的方式對外提供授權(quán)(包括RTL、hard macro,甚至GDS(Graphic Data Stream));另外從國外媒體的報道來看,Tenstorrent也出售chiplet、機器學(xué)習(xí)加速卡,或者包含CPU和ML加速單元的解決方案,而且還賣服務(wù)器系統(tǒng)。
就說這個業(yè)務(wù)模式還真是多樣化,作為IP供應(yīng)商,又自己賣chiplet、賣芯片,還做系統(tǒng),那是和不同層級的客戶達成了競爭關(guān)系的。不過這也不是咱要討論的重點。
實際上,就Tenstorrent出售的芯片和系統(tǒng),上述CPU核心主要還是為AI服務(wù)的。
03. 用作AI芯片的companion CPU
所以接下來我們談?wù)凾enstorrent的AI芯片。過去2年,這家公司分別推出過Grayskull和Wormhole,詳細配置情況如下圖所示。這兩款A(yù)I處理器很自然地需要搭配主CPU,系統(tǒng)層面產(chǎn)品形態(tài)是作為板卡插在Tenstorrent自己的服務(wù)器里面的。在Wormhole這代產(chǎn)品上,4U的Nebula服務(wù)器內(nèi)有32塊Wormhole板卡,6KW功率達成Int8的12 PFLOP算力。
不過這兩顆芯片不是我們要關(guān)注的重點,上圖中的Black Hole是這家公司的首款“CPU+ML解決方案”。注意看圖中,除了標記“T”的加速單元(名為Tensix),右邊還有標記為綠色“C”的CPU核心——這部分就是companion CPU。
不過Black Hole所用的14個CPU核心,用的是SiFive的X280——外圍的8通道GDDR6、1200Gb/s以太網(wǎng)連接、32 lane PCIe Gen 5就不多談了。今年Tenstorrent最新的PPT似乎更新了時間線,即上述所有產(chǎn)品均延后一年,所以Black Hole對應(yīng)于2023年,Grendel對應(yīng)于2024年。
規(guī)劃中的Grendel就會用上前文提到的來自Tenstorrent自己的Ascalon核心,也就是自研RISC-V CPU,前端8-wide解碼那個。這顆芯片的AI和CPU chiplet都會選擇3nm工藝——這可能是目前已知最早的應(yīng)用尖端制造工藝的RISC-V芯片。
這張示意圖畫得還是挺有趣,AI加速單元是基于2D torus NoC互聯(lián),連接DDR內(nèi)存(不支持HBM),連接RISC-V CPU,以太網(wǎng)用于擴展,當(dāng)然還有PCIe連接。值得一提的是,因為Tenstorrent的角色定位,可能最終產(chǎn)品選擇不同IP是存在靈活性的,比如說DRAM控制器、PHY之類的選配,據(jù)說Tenstorrent未來準備開發(fā)自己的內(nèi)存控制器,現(xiàn)在用的還是三方的方案。
從今年Tenstorrent公布的框圖來看,多chiplet方案的確讓Grendel看起來就是個大規(guī)模芯片。Tom's Hardware在文章中說,實則基于業(yè)務(wù)需求以及經(jīng)濟性考量,這顆芯片的AI chiplet部分(也就是那一堆Tensix單元)可以用3nm工藝,或者也可以用Black Hole的chiplet,甚至也可能CPU部分就繼續(xù)用SiFive X280。chiplet之間通訊如前所述可達成2TB/s的帶寬。
最后來談一下Ascalon或者其他RISC-V CPU用在這樣的AI芯片里,具體要干什么。實際上,Tenstorrent的CPU并不是單純用于AI流程控制的,而是可以替代x86的主CPU。其職能涵蓋了虛擬化、安全、系統(tǒng)管理、計算內(nèi)核調(diào)度設(shè)置。
在用作輔助AI計算時,價值自然就包括了數(shù)據(jù)預(yù)處理,預(yù)防訓(xùn)練數(shù)據(jù)overfeeding之類的問題;還有當(dāng)CPU的矢量單元比較強悍時,對于整個處理器適配未來的算法會很有價值,或者說CPU是整顆芯片彈性化的體現(xiàn)方式之一。另外兩者之間的協(xié)同,也體現(xiàn)在了包括互連通訊與存儲等的CPU微架構(gòu)設(shè)計里,那么compiler要在加速器和CPU之間做計算遷移也會很容易。這都是Tenstorrent自己要做CPU,且基于RISC-V的原因所在。
軟件棧,以及系統(tǒng)搭建為服務(wù)器產(chǎn)品的部分這里就不談了,畢竟我們這篇文章其實就是看一看當(dāng)RISC-V指令集用于HPC時,CPU架構(gòu)大概會長什么樣的。不過其實在系統(tǒng)層面,Tenstorrent還考慮到大規(guī)模集群計算,需要做數(shù)據(jù)遷移勢必要用到DPU的問題——畢竟這已經(jīng)是個共識了;Tenstorrent就說RISC-V在此也成為相當(dāng)棒的選擇...
整體上,看一遍Tenstorrent的RISC-V CPU設(shè)計,仍有種對于具體應(yīng)用而言,技術(shù)層面究竟選擇何種“指令集”都不是什么重點,而在于設(shè)計和實施方案的感覺。而阻斷x86和Arm成為其選擇的原因并不在于指令集本身,而在于RISC-V開源體現(xiàn)出的靈活性。這大概也更便于Jim Keller這類人去施展拳腳。雖然就外圍存儲、互聯(lián)的堆料看來,可能還是不能直接與英偉達硬碰硬,但靈活性和成本可能會是重要優(yōu)勢項。
當(dāng)然Grendel這顆3nm AI芯片畢竟也還沒有做出來,目前也還不清楚CPU的IP授權(quán)業(yè)務(wù)開展情況如何——其實就像前文提到的Tenstorrent的業(yè)務(wù)模式比較奇特,他們的上游供應(yīng)商和下游客戶又同時是競爭對手。比如SiFive既為其CPU提供IP,同時后代產(chǎn)品又直接形成了競爭對手關(guān)系。所以業(yè)務(wù)開展如何還有待觀察。
不過那么多大佬入局,還是讓Tenstorrent這家公司在開局成為了惹人注目的焦點。起碼RISC-V未來成為市場競爭的主要角色之一已經(jīng)不會再有疑問,而且絕對不光是低功耗和嵌入市場。