消費(fèi)用戶市場(chǎng),,普通用戶都能用上16核甚至64核處理器的PC,。這可不是單純堆核心就完事兒的。以當(dāng)前CPU核心的規(guī)模,,和可接受的成本,,消費(fèi)電子設(shè)備上一顆芯片就達(dá)到這種數(shù)量的核心數(shù)目,與chiplet的應(yīng)用是分不開的,。
Chiplet是這兩年業(yè)界的香餑餑,。前不久的ISSCC會(huì)議上,chiplet也是今年的熱門議題。AMD從Zen架構(gòu)開始,,Ryzen系列處理器就全面應(yīng)用了chiplet技術(shù),。Chiplet并不是什么新技術(shù),更早提的MCM(multi-chip module)就是應(yīng)用了chiplet的一種芯片方案,。
簡(jiǎn)單來說,,MCM通常是指將多個(gè)die(多個(gè)IC或chips)封裝到一起的多芯片模組。構(gòu)成MCM的一個(gè)個(gè)die,,或者功能電路模塊,,即是chiplet,。多個(gè)chiplet之間能夠協(xié)作,,構(gòu)成更大的芯片,也就是MCM(有時(shí),,MCM/Multi-chip Package又被當(dāng)做某一類封裝方式),。
不過本文探討的MCM/chiplet可能有一定程度的窄化,這里不探討類似Intel Kaby Lake G那一類方案,,即便它算是典型的chiplet應(yīng)用(以及像很多近代Intel處理器那樣只將處理器die和PCH die分開的那類chiplet,,以及HBM存儲(chǔ)chiplet)??赡軉渭兎Q其為MCM會(huì)更合理,。
以AMD的Ryzen 3000系列處理器為例,每4個(gè)核心(外加cache)組成一個(gè)CCX,,兩個(gè)CCX就組成一個(gè)CCD——也就是一個(gè)die或chiplet,。一顆處理器芯片上就會(huì)有多個(gè)這樣的CCD。另外還有個(gè)I/O die作為通訊中心(cIOD),,連接各個(gè)die,,如上圖所示。
值得一提的是,,Ryzen 3000處理器的CCD部分制造采用7nm工藝,,而cIOD則選擇了12nm工藝,這就很能體現(xiàn)chiplet在制造上物盡其用,、節(jié)約成本的優(yōu)越性了,。
如果說處理器的chiplet/MCM商用已經(jīng)全面落地,那么die size更大的GPU能不能也采用MCM的方案,?這是本文要探討的話題,,MCM應(yīng)用于GPU還需要多久?借此也能窺見chiplet作為此類高算力芯片的技術(shù)方向時(shí),,半導(dǎo)體制造已經(jīng)走到了哪里,。
當(dāng)GPU的die尺寸大到嚇人的程度時(shí)
如果只看消費(fèi)市場(chǎng),骨灰級(jí)玩家對(duì)GPU算力的追求是無止盡的。只怕算力不夠,,不怕價(jià)格,、功耗有多夸張,。圖形算力的饑渴從未停止過:1998年3dfx引入SLI技術(shù),,即2個(gè)或者更多的顯卡一起上,,實(shí)現(xiàn)更大規(guī)模的圖形并行計(jì)算,。
SLI同類技術(shù)(包括AMD的CrossFire)并未大規(guī)模普適,,主要是因?yàn)檫@樣的技術(shù)不僅有硬件級(jí)別的支持要求,,而且對(duì)游戲開發(fā)者也有要求,。在很多不支持多GPU并行計(jì)算的游戲中,,此類方案甚至?xí)钣螒蝮w驗(yàn)變差,。不過多GPU擴(kuò)展的方案,,在當(dāng)代數(shù)據(jù)中心還是比較常見的。
基于這個(gè)思路,,如果將多GPU的層級(jí)下沉到多die——也就是一個(gè)GPU之上,,有多個(gè)chiplet,堆砌更多的圖形計(jì)算單元,,好像也是完全行得通的方案,。只不過多GPU(或多芯顯卡)需要跨系統(tǒng)或者跨板級(jí),而多die則是基于同一個(gè)基板的封裝級(jí)方案,,延遲和帶寬理論上也比跨PCB板更有優(yōu)勢(shì)才對(duì),。
那么為什么不直接將現(xiàn)在的GPU做得更大,在一顆die上堆更多的計(jì)算資源呢(也就是所謂的monolithic),?如果摩爾定律恒定持續(xù),,同面積內(nèi)容納更多晶體管,則這種方案是可持續(xù)的,。但在摩爾定律放緩的情況下,,要在一顆die上塞下更多的圖形計(jì)算核心,尺寸和成本都是無法接受的,。
目前的顯卡主流產(chǎn)品,,AMD Radeon RX 6900XT的單die尺寸達(dá)到了519mm?,英偉達(dá)Geforce RTX 3090則達(dá)到628mm?,。這種die尺寸也算是不惜血本的代表了,,逐漸逼近光刻機(jī)可處理的最大尺寸(rectile limit, 858mm?)。未來再給GPU加計(jì)算核心,,單die方案會(huì)有極大難度,。這是GPU考慮MCM/chiplet方案的先決條件。
從成本來看,,這個(gè)問題大概會(huì)更明朗,。即便不考慮切割大面積晶圓可能造成良率低下的問題,,更小die也能帶來更高的成本效益。300mm的wafer滿打滿算造114片22x22mm(接近Vega 64尺寸)片單die;如果切分成更小的11x11mm,,即原有每片die可獲得4片更小的die,,則很大程度減少了晶圓切割邊緣浪費(fèi),就能造488片die——如果這些die在理想情況下每4片組成一顆MCM芯片,,則產(chǎn)量就高了大約8%,。
當(dāng)然這其中并未考慮wafer不同形狀的優(yōu)化方案,也沒有考慮制造缺陷之類的問題,,而且MCM芯片還需要耗費(fèi)更多的die來做專門的通訊(比如前文提到Ryzen處理器的I/O die),。但chiplet/MCM能夠?qū)崿F(xiàn)的成本節(jié)約仍然是顯著的。
EE Times專欄作者Don Scansen前不久撰文提到,,“AMD計(jì)算出,,以Chiplet方法制作EPYC處理器時(shí),會(huì)需要比單一芯片多出10%的硅晶圓面積做為裸晶對(duì)裸晶(die-to-die)的通訊功能區(qū)塊,、冗余邏輯(redundant logic)以及其他附加功能,,但最后整個(gè)chiplet形式處理器的芯片成本,,比單芯片處理器節(jié)省了41%,。”
總結(jié)一句話,,chiplet/MCM本質(zhì)上是在摩爾定律止步不前的當(dāng)下,,為進(jìn)一步提高芯片算力,采用的一種控制成本的方案,。這里的成本控制實(shí)際上還表現(xiàn)在IP的復(fù)用和彈性,,chiplet有時(shí)可以“復(fù)制粘貼”的模塊化方式,靈活地存在于芯片之上,。AMD如今的Ryzen處理器能夠如此便捷地堆核心,,并且在多線程性能表現(xiàn)出對(duì)Intel的碾壓優(yōu)勢(shì),和chiplet是分不開的,。
GPU應(yīng)用chiplet的阻礙
不過GPU要應(yīng)用chiplet卻并不是一件簡(jiǎn)單的事,,就好像顯卡SLI(或雙芯顯卡)經(jīng)過了這么多年,都并未普及開一樣,。Raja Koduri此前還在AMD的時(shí)候提過,,GPU可能會(huì)采用Infinity Fabric方案(AMD Ryzen處理器的一種互聯(lián)方案);這在當(dāng)時(shí)被認(rèn)為是MCM型GPU提出的依據(jù),。不過眾所周知Raja Koduri后來就離開了AMD,,此間規(guī)劃的延續(xù)性是未知的。
2019年英偉達(dá)宣布實(shí)驗(yàn)室打造一款名為RC18的AI處理器,。這顆處理器采用16nm工藝,,更重要的是選擇了多die解決方案,。芯片整體包含36個(gè)小型模塊,每個(gè)模塊主要由16個(gè)PE(Processing Elements)構(gòu)成,,外加RISC-V核及對(duì)應(yīng)的緩存,,另外還有英偉達(dá)的GRS(Ground-Referenced Signaling)互聯(lián)。當(dāng)時(shí)英偉達(dá)提到,,RC18的存在表明很多技術(shù)的可行性,,包括可擴(kuò)展的深度學(xué)習(xí)架構(gòu),以及高效的die-to-die方案,。
這顆芯片對(duì)于未來的chiplet型GPU而言可能是個(gè)重要模板,。不過對(duì)于圖形計(jì)算的GPU而言,在同一顆芯片上渲染畫面幀,,要分配到不同chiplet之上,,難度還是會(huì)比這類AI芯片更大的。2018年AMD RTG團(tuán)隊(duì)高級(jí)副總裁David Wang在接受PCGamesN采訪時(shí),,曾經(jīng)提到過MCM GPU要實(shí)現(xiàn)起來并不簡(jiǎn)單,。“我們?cè)诳碝CM型的實(shí)現(xiàn)方法,,但目前尚無法定論,,傳統(tǒng)游戲圖形計(jì)算會(huì)應(yīng)用類似技術(shù)?!?/p>
“從某種角度來看,,其實(shí)這也就是在單一封裝上去做CrossFire(AMD版的SLI方案)。其挑戰(zhàn)在于,,我們需要能夠做到在硬件層面對(duì)開發(fā)者不可見,,否則其發(fā)展就不會(huì)順利?!倍?,“GPU在NUMA(非一致性內(nèi)存訪問)架構(gòu)以及一些特性方面有著一定的限制……”,尤其相比CPU,,圖形計(jì)算負(fù)載的這種設(shè)定會(huì)更有難度,。
這話的意思是指,第一,,如果MCM GPU需要游戲開發(fā)者去花額外的時(shí)間做開發(fā)上的調(diào)整,,或者增加開發(fā)難度,則成為推廣MCM GPU的阻礙,。第二,,不同die之間互聯(lián)效率、數(shù)據(jù)一致性問題:包括在chiplet之間切分圖形計(jì)算管線,,以及彼此之間存儲(chǔ)訪問的差異性,,都會(huì)給設(shè)計(jì)帶來更高的復(fù)雜度,。
SLI——即以前的多GPU(或板級(jí)多芯片GPU)方案實(shí)際上是這兩個(gè)問題的放大版本。面向開發(fā)者時(shí)開發(fā)難度大,;不同GPU之間的工作部署有難度,。(而且多GPU方案非常依賴于多層級(jí)的系統(tǒng)互聯(lián),這個(gè)過程中的數(shù)據(jù)遷移,、同步帶來的功耗問題也比較大,;所以最終互聯(lián),達(dá)成的有效帶寬和每比特消耗的能量都不盡人意)
其中后一個(gè)問題也是chiplet技術(shù)演進(jìn)探討的熱門議題,,即便已經(jīng)商用的chiplet CPU產(chǎn)品,,依舊在互聯(lián)方面有著持續(xù)改進(jìn)的空間。
Chiplet即將應(yīng)用于GPU的幾個(gè)先兆
MCM GPU真正在這兩年呼聲特別高也不是沒有原因的,。其中有幾件標(biāo)志性事件可能表明MCM GPU離我們并不遙遠(yuǎn)了——即便最早一批MCM GPU可能會(huì)是面向數(shù)據(jù)中心的,,并在后續(xù)才逐漸下放到游戲和圖形計(jì)算市場(chǎng)。
首先是Intel這邊,,Raja Koduri(沒錯(cuò),,就是之前AMD的那位)今年一月份在Twitter上發(fā)布了一條推文,展示Intel即將推向市場(chǎng)的Xe HPC,,如上圖所示——有關(guān)Xe GPU,,此前介紹十一代酷睿的核顯文章曾大致談到過。Xe面向HPC高性能計(jì)算時(shí),,作為獨(dú)立GPU形態(tài)存在,。
這枚代號(hào)為Ponte Vecchio的芯片看起來還是蔚為壯觀的,。就這張圖片來看,,這顆GPU計(jì)算核心可能主要由上下兩個(gè)chiplet構(gòu)成,圍繞四周的應(yīng)該是HBM存儲(chǔ),,還有I/O或者其他屬于Xe特性的組成部分,。Chiplet之間可能采用Intel的EMIB(Embedded Multi-die Interconnect Bridge)連接。此前Intel也提過Ponte Vecchio之上應(yīng)用了Foveros 3D堆疊技術(shù),,具體情況未知,。不過chiplet在GPU上的應(yīng)用,或者說真正的MCM GPU,,在此也是初見端倪的,。
除此之外,2019年底Twitter傳出一則泄露消息,,稱英偉達(dá)新一代Hopper架構(gòu)(Ampere后續(xù)架構(gòu))GPU將以MCM的形態(tài)問世,。
事實(shí)上,英偉達(dá)在2017年的ISCA上就發(fā)表過一篇題為MCM-GPU: Multi-Chip-Module GPUs for Continued Performance Scalability的paper,。雖然這篇paper中提到的方法,,只是在英偉達(dá)實(shí)驗(yàn)室里以模擬的方式將MCM GPU,,與單die GPU和多GPU方案進(jìn)行比較,不過表明英偉達(dá)的確是有在探討其可行性的,。
這篇paper有具體探討不同層級(jí)的多芯片方案,,比如SLI那樣的多顯卡方案,以及板級(jí)多芯方案,、同封裝下的多die方案,、單die方案等,互聯(lián)帶寬和開銷問題,;并且認(rèn)定當(dāng)代技術(shù)儲(chǔ)備,,比如說substrate尺寸、die之間信號(hào)通訊技術(shù)(如英偉達(dá)的GRS)都正走向成熟,,給MCM GPU的實(shí)現(xiàn)開創(chuàng)了技術(shù)條件,。
此外這篇paper提到了幾個(gè)優(yōu)化方案,包括引入L1.5 cache,,不同chiplet之間線程調(diào)度和數(shù)據(jù)劃分方案,。從這套方案的結(jié)果來看(如上圖),雖然某些測(cè)試項(xiàng)有不盡人意之處,,但整體上MCM GPU能夠?qū)崿F(xiàn)在性能上比多GPU方案的顯著領(lǐng)先(且功耗遙遙領(lǐng)先,,0.5 pJ/bit vs 10 pJ/bit),而且性能較同計(jì)算硬件資源的單die方案,,并沒有太大損失(而且需要注意,,這種單die方案現(xiàn)實(shí)中是造不出來的)。而相比目前能夠制造的最大單die方案(128 SM單元),,英偉達(dá)預(yù)設(shè)中的這套方案有45.5%的性能優(yōu)勢(shì),。
文中提及將這樣的方案應(yīng)用在HPC大規(guī)模集群中,能夠極大提升性能密度,,系統(tǒng)層級(jí)減少機(jī)柜數(shù)量,,以及對(duì)應(yīng)的系統(tǒng)級(jí)網(wǎng)絡(luò)、通訊規(guī)模變小,。最終實(shí)現(xiàn)通訊,、供電、制冷系統(tǒng)的耗電量極大節(jié)約,。只不過這篇paper,,整體上更多仍停留于紙面和模擬。
最后AMD作為已經(jīng)在CPU之上推開chiplet的市場(chǎng)玩家,,今年年初浮現(xiàn)一則其2019年申請(qǐng)的專利,,名為“GPU Chiplets using High Bandwidth Crosslinks”。這項(xiàng)專利的很大一部分,,旨在解決MCM GPU在開發(fā)層面困難的問題,。
這項(xiàng)專利提到系統(tǒng)中包含一個(gè)CPU,。它在通訊上與GPU chiplet陣列的第一顆chiplet連接。CPU和這顆GPU chiplet通過一條總線連接,;而這顆GPU chiplet和后面的chiplet則通過一種passive crosslink連接,。這里的passive crosslink實(shí)際上是個(gè)被動(dòng)interposer die,專門用于chiplet之間的通訊,,以及負(fù)責(zé)將SoC功能切分成更小的chiplet,。(如上圖所示)
針對(duì)存儲(chǔ)一致性問題,每顆GPU chiplet都會(huì)有其各自的LLC(last-level cache),,也就是L3 cache,。LLC跨所有的chiplet實(shí)現(xiàn)一致性,也是實(shí)現(xiàn)跨chiplet存儲(chǔ)一致性乃至提升MCM GPU效率的關(guān)鍵,。
這套系統(tǒng)中,,僅第一顆GPU chiplet接收來自CPU的請(qǐng)求,這樣一來對(duì)CPU而言,,GPU就好像是傳統(tǒng)的單die方案一樣,,對(duì)圖形計(jì)算開發(fā)也就比較友好了。未知AMD是否已將這項(xiàng)專利付諸實(shí)現(xiàn),,GPU本身內(nèi)部的通訊延遲理論上可能會(huì)更高,。
不過如前所述,MCM GPU最早應(yīng)用的理論上可能還是數(shù)據(jù)中心,、HPC這些領(lǐng)域,。畢竟如英偉達(dá)在paper中所述,這樣的設(shè)計(jì)對(duì)于數(shù)據(jù)中心具備了更天然的替代優(yōu)勢(shì),。而在技術(shù)逐步準(zhǔn)備就緒之際,,MCM GPU的出現(xiàn)的確只是時(shí)間問題,包括下放到游戲市場(chǎng),。Intel,、AMD和英偉達(dá),哪家將率先踏出這一步,,也是值得拭目以待的。