很多年前,我們?cè)_(kāi)過(guò)一個(gè)玩笑,認(rèn)為未來(lái)的計(jì)算引擎看起來(lái)更像是 GPU 卡,而不是我們當(dāng)時(shí)所知道的服務(wù)器那樣。該信念的核心原則之一是,考慮到有多少 HPC 和 AI 應(yīng)用程序受內(nèi)存帶寬(而不是計(jì)算容量甚至內(nèi)存容量)的約束,某種形式的極其接近、非常高帶寬的內(nèi)存將適用于所有方式計(jì)算芯片:包括但不限于GPU、CPU、FPGA、矢量引擎等等。 事實(shí)證明,這在很大程度上是正確的,至少在另一種存儲(chǔ)被發(fā)明之前是這樣。
如果 FPGA——更準(zhǔn)確地說(shuō),我們稱之為 FPGA 的混合計(jì)算和網(wǎng)絡(luò)復(fù)合體,即使它們不僅僅是可編程邏輯塊——要競(jìng)爭(zhēng)計(jì)算工作,它就必須擁有某種形式的高帶寬主存儲(chǔ)器與它緊密結(jié)合。這就是賽靈思談?wù)撈涓叨?Versal HBM 器件的原因,該器件自 2018 年以來(lái),一直在賽靈思路線圖中有所暗示,并將在大約 9 個(gè)月后上市。
Virtex UltraScale+ 高級(jí)產(chǎn)品線經(jīng)理 Mike Thompson Xilinx 告訴The Next Platform. 這比預(yù)期晚了大約 6 個(gè)月——很難說(shuō)許多供應(yīng)商路線圖上 X 軸的變幻莫測(cè),因?yàn)樗鼈冸x Y 軸更遠(yuǎn),但請(qǐng)自行估計(jì):
Xilinx 與其他幾家設(shè)備制造商一起開(kāi)辟了高帶寬主存儲(chǔ)器的道路,這不是作為一項(xiàng)科學(xué)實(shí)驗(yàn),而是因?yàn)榫W(wǎng)絡(luò)、航空航天和國(guó)防、電信和金融服務(wù)行業(yè)中的許多延遲敏感的工作負(fù)載根本無(wú)法通過(guò)使用標(biāo)準(zhǔn) DRAM 或什至嵌入在 FPGA 邏輯塊中的非??斓?SRAM完成。 高帶寬內(nèi)存最初有兩種用于數(shù)據(jù)中心計(jì)算引擎的形式,但市場(chǎng)已經(jīng)圍繞其中一種發(fā)力。 來(lái)自英特爾和美光科技的稱為混合內(nèi)存立方體 (HMC) 的 MCDRAM 變體部署在英特爾“Knights Landing”至強(qiáng)融核設(shè)備上,這些設(shè)備本身可以用作計(jì)算引擎,也可以用作普通 CPU 的加速器。Xeon Phi 可以通過(guò) 16 GB 的 HMC 內(nèi)存向芯片上高度矢量化的 Atom 內(nèi)核提供略高于 400 GB/秒的內(nèi)存帶寬,這在當(dāng)時(shí)非常重要。
這種 HMC 變體還用于富士通的 Sparc64-IXfx 處理器,該處理器針對(duì)超級(jí)計(jì)算機(jī),具有 32 GB 的容量,并在其四個(gè)內(nèi)存庫(kù)中提供 480 GB/秒的帶寬。 但是隨著富士通為世界上最強(qiáng)大的機(jī)器“Fugaku”設(shè)計(jì)基于 A64FX Arm 的處理器后,富士通轉(zhuǎn)而使用更常見(jiàn)的堆疊并行 DRAM 的第二代高帶寬內(nèi)存 (HBM2) 變體,這是最初由 AMD 和內(nèi)存制造商三星和 SK 海力士創(chuàng)建,并首次用于“Fiji”一代 Radeon 顯卡。大約同期,英特爾推出帶有 MCDRAM 的 Xeon Phi 芯片的同時(shí)。
富士通在芯片上放置了四個(gè)通道,可提供 32 GB 的容量和非常可觀的 1 TB/秒的帶寬——比 CPU 插槽提供的帶寬高出一個(gè)數(shù)量級(jí)左右。 鑒于需要比集成 SRAM 提供更高帶寬和更大容量,賽靈思在其上一代 Virtex UltraScale+ FPGA 上放置了 16 GB HBM2 內(nèi)存,提供 460 GB/秒的帶寬。正如您所看到的,這大約是當(dāng)時(shí)的 flops-heavy CPU 計(jì)算引擎提供的性能的一半,您將再次看到這種模式。
速度與工作負(fù)載的需求和客戶需要的價(jià)格點(diǎn)相平衡。那些購(gòu)買強(qiáng)大 FPGA 的人同樣需要高速 SerDes 進(jìn)行信號(hào)傳輸,因此他們必須權(quán)衡網(wǎng)絡(luò)和內(nèi)存,以保持在對(duì)用例有意義的熱范圍內(nèi)。 Nvidia 已將 HBM容量和帶寬發(fā)揮到極致,因?yàn)樗谄?GPU 加速器上提供了三代 HBM2 內(nèi)存,當(dāng)前的“Ampere”設(shè)備具有最大 80 GB 的容量,產(chǎn)生了令人印象深刻的 2 TB/秒的帶寬。而這種對(duì)速度和容量的需求是由貪婪的人工智能工作負(fù)載驅(qū)動(dòng)的,這些工作負(fù)載有爆炸式的數(shù)據(jù)集需要“咀嚼”。
在混合 CPU-GPU 系統(tǒng)上運(yùn)行的 HPC 代碼可以使用比許多 AI 代碼更小的內(nèi)存占用,這是幸運(yùn)的,但如果內(nèi)存可用,情況就不會(huì)如此。所有應(yīng)用程序和數(shù)據(jù)集最終都會(huì)擴(kuò)展到消耗所有容量和帶寬。 當(dāng)涉及到 HBM 內(nèi)存時(shí),一些設(shè)備適合這兩種極端情況的中間。NEC四年前推出的“Aurora”矢量加速器擁有 48 GB 的 HBM2 內(nèi)存和 1.2 TB/秒的帶寬,擊敗了當(dāng)時(shí) Nvidia 的“Volta”一代 GPU 加速器。但今年推出的更新版 Ampere 只是在 HBM2 容量和帶寬方面擊敗了其他一切。英特爾剛剛宣布,其未來(lái)的“Sapphire Rapids” 至強(qiáng)處理器SP,現(xiàn)在預(yù)計(jì),明年將有一個(gè)變體,支持HBM2內(nèi)存,當(dāng)然,英特爾的 HPC GPU 加速器也將擁有 HBM2 內(nèi)存堆棧。我們不知道英特爾的 CPU 和 GPU 在 HBM2 頻譜上的最終位置,但如果英特爾真的認(rèn)真對(duì)待競(jìng)爭(zhēng),它可能介于 CPU 的極端和 GPU 的極端之間。
Xilinx 即將推出的 Versal HBM 器件也采取了中間路線,其原因與 Virtex UltraScale+ 器件在 2016 年 11 月發(fā)布時(shí)所做的相同。但賽靈思還加入了其他 HBM 創(chuàng)新,在每單位容量和帶寬上比其他創(chuàng)新更進(jìn)一步減少延遲。 Versal HBM 設(shè)備基于我們?cè)?2020 年 3 月詳細(xì)介紹的 Versal Premium 而設(shè)計(jì)。Versal Premium 復(fù)合體有四個(gè)超級(jí)邏輯區(qū)域,或賽靈思所稱的 SLR,其中一個(gè) SLR 被替換為兩組 8 堆棧的 HBM2e 存儲(chǔ)器。每個(gè)堆棧最多有 16 GB,總共 32 GB,跨 SKU 的內(nèi)存有 8 GB、16 GB 和 32 GB,具有不同的計(jì)算量和互連量。
緊鄰交換的 HBM 存儲(chǔ)器的 SLR 嵌入了一個(gè) HBM 控制器和一個(gè) HBM 開(kāi)關(guān)——兩者都是由賽靈思設(shè)計(jì)的——Thompson 說(shuō)這些開(kāi)關(guān)相對(duì)較小。這個(gè) HBM 開(kāi)關(guān)是一個(gè)關(guān)鍵的區(qū)別。 “HBM 面臨的一個(gè)挑戰(zhàn)是您可以從任何內(nèi)存端口訪問(wèn)每個(gè)內(nèi)存位置,我們?cè)谠撛O(shè)備上有 32 個(gè)內(nèi)存端口,”Thompson 解釋說(shuō)?!笆袌?chǎng)上的其他產(chǎn)品也沒(méi)有內(nèi)置開(kāi)關(guān),這意味著他們必須花費(fèi)大量的軟邏輯來(lái)創(chuàng)建自己的開(kāi)關(guān),這會(huì)占用這些設(shè)備中的大部分邏輯,并且介于 4瓦和 5 瓦的功率。對(duì)于使用 HBM 的其他設(shè)備,沒(méi)有交換機(jī)會(huì)導(dǎo)致大量開(kāi)銷和額外延遲,因?yàn)閮?nèi)存映射最終會(huì)比應(yīng)有的更煩人?!?還有一部分 FPGA 邏輯與 SerDes 和許多其他加速器一起被硬編碼在晶體管中以提高效率。Versal HBM 框圖如下所示:
與 Versal Premium 設(shè)備一樣,Versal HBM 設(shè)備具有一些基于 Arm 內(nèi)核的標(biāo)量處理引擎、一些實(shí)現(xiàn) FPGA 功能及其內(nèi)部和各種存儲(chǔ)器的可編程邏輯,以及為機(jī)器學(xué)習(xí)、成像進(jìn)行混合精度數(shù)學(xué)運(yùn)算的 DSP 引擎和信號(hào)處理應(yīng)用。與之相連的是 HBM 內(nèi)存和大量硬編碼 I/O 控制器和 SerDes,它們使數(shù)據(jù)以閃電般的速度進(jìn)出這些芯片。
FPGA 客戶需要在此類設(shè)備上使用 HBM 存儲(chǔ)器的原因之一是,它具有如此多的不同 I/O,加起來(lái)如此之多的總帶寬。PCI-Express 5.0 控制器支持 DMA、CCIX 和 CXL 協(xié)議以實(shí)現(xiàn)內(nèi)存延遲,總帶寬為 1.5 Tb/秒;芯片到芯片 Interlaken 互連具有集成的前向糾錯(cuò) (FEC) 加速器,可提供 600 Gb/秒的總帶寬。加密引擎也像 PCI-Express 和 Interlaken 控制器一樣采用硬編碼,支持 128 位和 256 位的 AES-GCM 以及 MACsec 和 IPsec 協(xié)議,并提供 1.2 Tb/秒的聚合帶寬,并且可以進(jìn)行加密400 Gb/秒以匹配 400 Gb/秒以太網(wǎng)端口的線路速率。
硬編碼以太網(wǎng)控制器可以驅(qū)動(dòng) 400 Gb/秒端口(帶有 58 Gb/秒 PAM4 信號(hào))和 800 Gb/秒端口(帶有 112 Gb/秒 PAM4 信號(hào))以及任何低至 10 Gb/秒的以太網(wǎng)步驟使用傳統(tǒng)的 32 Gb/秒 NRZ 信令; 總而言之,該芯片的以太網(wǎng)總帶寬為 2.4 Tb/秒。
這個(gè) Versal HBM 設(shè)備是 I/O 上的帶寬野獸,對(duì)于某些應(yīng)用程序,這意味著它需要成為內(nèi)存帶寬野獸來(lái)平衡它。Versal HBM 設(shè)備比它將取代的 Virtex UltraScale+ HBM 設(shè)備更像野獸,并在 HBM 內(nèi)存容量和帶寬之外的許多不同指標(biāo)上證明了這一點(diǎn)。這是通過(guò)架構(gòu)變化和從 16 納米工藝到 7 納米的轉(zhuǎn)變(感謝晶圓廠合作伙伴臺(tái)灣半導(dǎo)體制造公司)實(shí)現(xiàn)的。
Thompson 表示,Versal HBM 設(shè)備具有相當(dāng)于 14 個(gè) FPGA 的邏輯,而 HBM 具有相當(dāng)于 32 個(gè) DDR5-6400 DRAM 模塊的帶寬。 Xilinx 估計(jì),與四個(gè)相同容量的 DDR5-6400 模塊相比,該器件具有 8 倍的內(nèi)存帶寬和 63% 的功耗:
那么,Versal HBM 器件與之前的 Xilinx 器件和 Intel Agilex 器件以及 Intel 和 AMD CPU 相比如何?好吧,在以 350 億美元收購(gòu) Xilinx 的過(guò)程中,您可以忘記將 AMD Epyc CPU 與AMD 進(jìn)行任何比較。
Thompson 也沒(méi)有與英特爾 ACAP 等效設(shè)備進(jìn)行任何比較。但他確實(shí)帶來(lái)了一些圖表,將兩路英特爾“冰湖”至強(qiáng) SP 系統(tǒng)與 Virtex HBM 和 Versal HBM 設(shè)備進(jìn)行對(duì)比,如下所示:
在上圖左側(cè)的臨床記錄推薦引擎測(cè)試中,僅使用 CPU 的系統(tǒng)需要幾秒到幾分鐘才能運(yùn)行,但舊的 Virtex HBM 設(shè)備能夠容納兩倍大的數(shù)據(jù)庫(kù),因?yàn)樗乃俣仁撬梢詫?shù)據(jù)流式傳輸?shù)皆O(shè)備中,并且在提出治療建議方面的速度提高了 100 倍。
Versal HBM 設(shè)備擁有兩倍大的數(shù)據(jù)庫(kù),并且以兩倍的速度導(dǎo)出建議。右側(cè)的實(shí)時(shí)欺詐檢測(cè)基準(zhǔn)也具有相同的相對(duì)性能。 Thompson 說(shuō),這是考慮如何使用 Versal HBM 設(shè)備的另一種方式。
假設(shè)您想構(gòu)建一個(gè)內(nèi)置機(jī)器學(xué)習(xí)智能的下一代 800 Gb/秒防火墻。如果您想使用只能驅(qū)動(dòng) 400 Gb/秒端口的 Marvell Octeon 網(wǎng)絡(luò)處理器 SoC,您將需要其中的兩個(gè),而且他們沒(méi)有機(jī)器學(xué)習(xí)。因此,您將需要兩個(gè) Virtex UltraScale+ FPGA 來(lái)將該功能添加到 Octeons 對(duì)中。還需要十幾個(gè) DDR4 DRAM 模塊才能提供 250 GB/秒的內(nèi)存吞吐量。像這樣:
據(jù)推測(cè),Versal HBM 系統(tǒng)不僅在設(shè)備更少、吞吐量更大和功耗更低方面表現(xiàn)更好,而且購(gòu)買成本也更低。我們不知道,因?yàn)?Xilinx 沒(méi)有給出定價(jià)。如果沒(méi)有,它肯定必須提供更好的性價(jià)比和更好的每瓦特性能,否則玩這個(gè)游戲根本沒(méi)有意義。
編輯:黃飛
評(píng)論