請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

科技

探索 Nvidia 的多重護城河:不只有 CUDA,NVLink 串連頻寬更難跨越

科技新報

更新於 03月29日11:33 • 發布於 03月29日07:50

回顧當下市值超過 2 兆美元的輝達(Nvidia)崛起過程,這間稱霸業界的「人工智慧算力軍火商」的「護城河」,並不限技術領域領先地位,更遠遠不只 CUDA 這條。

睽違五年沒有實體活動後,今年 3 月,Nvidia 舉行三天開發者大會 GTC,發表新世代 GPU 微架構 Blackwell,記念美國統計學家 David Harold Blackwell,並年底推出 Nvidia B200 Tensor Core GPU(代號 B200)和 Nvidia GB200 Superchip(代號 GB200),後續還有較低規 B100 產品。

▲ AMD MI300X 才出貨沒多久,帳面「單晶片效能優勢」就被 Nvidia 奪回,雖然本來就不意外。

Nvidia 透露 Blackwell 輪廓並公布概要規格,卻對內部微架構幾乎隻字不提(大概要保留給今年或明年 HotChips 議程吧?)。除了「理所當然」激增效能和改進製程,相較前代 Hopper(代號 H100 SXM),Blackwell 大致有幾個亮點:

  • Nvidia 加入「包水餃」行列,適合較大型 Chiplet 的 CoWoS-L 2.5D 封裝技術結合 CoWoS-S 和 InFO 優點,中介層 LSI(本地矽互連)連接兩顆裸晶,雖然和英特爾 AMD「花式多晶片封裝」相比,根本小巫見大巫,但結果論來說,這一點也不重要,畢竟 Nvidia 的壓倒性優勢,還是擺在那邊。

  • 張量核心(Tensor Core)新增精度更低的 FP4 和 FP6 浮點格式,搭配「第二代 Transformer Engine」,訓練 Transformer 模型(現今廣泛應用的語言模型之骨幹)時,以動態將張量資料縮放至更小範圍,維持精準度的前提下,獲更小數值格式和更快效能。

  • 標準設計功耗(TDP)從 H100 的 700 瓦飆升至 1,200 瓦,證實黃仁勳先前暗示的「次世代 DGX 伺服器將採用水冷散熱技術」。

  • 最後,也是本文主題,NVLink 將理論頻寬倍增至雙向 1.8TB/s,NVSwtich 最大 GPU 擴展數量也從 256 個擴增到 576 個。

▲ 歷經十年,NVLink 邁進第五代,單一 GPU 的理論總頻寬也一舉衝上 1800GB/s。

一如往昔,Nvidia 的競爭對手「高頻寬」和「延展性」再次看不到車尾燈。2014 年至今十年,名為 NVLink 的護城河持續拉大跟競爭者的差距,更是 Nvidia 大型多 GPU 運算系統的優勢基礎。

回顧 NVLink 的十年演進

NVLink 是 Nvidia 開發 GPU 之間點對點「垂直擴充」(Scale Up)高速互連專屬技術,旨在克服 PCIe 頻寬限制,實現 GPU 間低延遲、高頻寬資料通訊,更有效率協同工作,變相合併成單一超巨大 GPU。NVLink 經過近十年發展,已成為 Nvidia GPU 核心技術,是生態系統的重要拼圖。由於這項技術是 Nvidia 獨有,歷史也僅短暫開放給 IBM(Power8、Power9 處理器),其他晶片公司只能繼續沿用 PCIe 或其他種類互連協定。

NVLink 技術推出前(2014 年),GPU 透過 PCIe 交換器互連,GPU 訊號先經過 PCIe 交換機,資料處理因涉及 CPU 分配和調度,增加額外網路延遲,並限制系統效能。當時 PCIe 協定已達 Gen 3,單通道速率為 8Gb/s,16 通道總理論頻寬為 16GB/s(128Gbps)。

▲ NVLink 演進史,除了持續增加的連接數量,調變技術更舉足輕重,NVLink4 導入 PAM4 堪稱領先眾多競爭對手與「產業標準」的重大突破。

GPU 效能不斷提升,與數量持續增加,互連頻寬就成瓶頸。Nvidia 索性就自己動手研發 NVLink,不願等待所謂「開放產業標準」,亦便於自行定義為自己量身訂做的特殊功能,並在不同權衡間隨時適當取捨。

NVLink1:壓倒 PCIe 的超高頻寬

2014 年,Nvidia 發表 NVLink 1.0 並用於 P100 晶片,兩個 GPU 間有四個 NVlink,每個連結八個通道(Lane),每通道資料傳輸率為 20Gb/s。

因此,整個系統的雙向理論頻寬為 160GB/s,是 PCIe3 x16 五倍。每個 NVLink 有 16 對差分訊號(Differential Signal)線,對應雙向八路通道,差分對的兩端是 PHY(實體層,IC 內部主要接觸到實體訊號的區塊),含 SerDes(序列/解序列轉換器),後面會提到其舉足輕重的重要性。

基於 NVLink 1.0,可形成四個 GPU 的平面網格結構,每對間有點對點連接。八個 GPU 對應一個立方體網格,可組成一個 DGX-1 伺服器。這也對應常見的八卡配置。需要注意的是,此時八個 GPU 並沒有形成全部對全部的連結。

NVLink2:NVSwitch 登場

2017 年 Nvidia 推出第二代 NVLink 技術,將兩個 V100 晶片藉六個 NVLink 連接,每個 NVLink 八個通道,每通道資料傳輸率增強至 25Gb/s,系統雙向理論頻寬 300GB/s,幾乎是 NVLink 1.0 兩倍。

為了實做八個 GPU 間全對全互連,Nvidia 在 NVLink 2.0 引進 NVSwitch 技術,也就是 NVLink 交換器,可將多個 GPU 連結成大型 NVLink 網路,當系統啟動, NVLink 網路通過軟體 API 自動建立連線,並可在運行時據軟體需求動態更改記憶體位址。

▲ 自從 NVLink2 問世的 NVSwitch 將 NVLink 的延展性,擴展到對手都看不到車尾燈的程度。

第一代 NVSwitch 有 18 個端口,每端口理論頻寬為 50GB/s,總理論頻寬為 900GB/s。每個 NVSwitch 保留兩個連接埠用於連接 CPU,用六個 NVSwitch,可建立八個 V100 晶片的全對全連接,然後人工智慧伺服器 DGX-2 系統建構於兩塊八個 V100 晶片主板,總計 12 個 NVSwitch,達成 16 個 GPU 晶片的全體互連。

▲ Nvidia DGX-2 含 16 個 V100 和 12 個 NVSwitch。

NVLink3:加倍的通道傳輸率

2020 年 NVLink 3.0問世,12 個 NVLink 連接兩個 A100 晶片,每個 NVLink 四個通道,每通道傳輸率為 50Gb/s,系統雙向理論頻寬 600GB/s,是 NVLink 2.0 兩倍。隨著 NVLink 數量增加,NVSwitch 連接埠數量也提升到 36 個,每個連接埠傳輸率為 50GB/s。

DGX A100 有八個 A100 晶片和五個 NVSwitch。整櫃型超級電腦 DGX SuperPOD 透過 Mellanox 的 200Gb/s InfiniBand(IB)140 個 DGX A100 節點,組成 1,120 個 GPU 的巨大系統。

▲ 從 Ampere 世代的 A100 和 NVLink3 開始,SeperPOD 開始成長為大型系統。

NVLink4:走出機殼,融合 Mellanox 的網路技術

2022 年 NVLink 技術升級到第四代,讓兩個 H100 晶片經 18 條 NVLink 連結互連,每連結兩個通道,每通道 100Gb/s 速率,雙向總理論頻寬增加到 900GB/s。第三代 NVSwitch 有 64 個端口,每端口理論頻寬為 50GB/s。DGX H100 由八顆 H100 晶片和四顆 NVSwitch 晶片組成。

這時 NVLink 衍生出 C2C(Chip-to-Chip)超高速晶片互連規範,最先連結兩顆 Grace CPU 為 144 個 Arm Neoverse V2 CPU 核心的 Grace Superchip,或整併一顆 Grace CPU 和 H200 GPU 為 Grace Hopper Superchip(GH200)。同時 Nvidia 宣布開放 NVLink-C2C 給其他廠商,但有多少人願意買單,外人仍不得而知。

▲ 實在讓人很好奇緊密連接兩顆大晶片的 NVLink-C2C 究竟有哪些人會買單。

從系統架構角度看,這世代 NVSwitch 最大變化是將 NVLink 擴展到單一機殼之外,PHY(50Gb/s PAM4,傳輸率 100Gb/s)相容 400G 乙太網路或 InfiniBand(IB)的物理接口,重複利用 400G 乙太網路佈線,每個 NVSwitch 可連接多個 800G OSFP 收發器模組,兼具被動銅線(DAC)、主動銅線(AEC)和多模光纖,連接 GPU 一側的單向總理論頻寬為 4Tbps(20 NVLink × 200Gbps),相當於收發器模組那側,形成無阻塞網路。

NVSwitch 與高速網路界面的融合,不但使 Nvidia 的多 GPU 系統具備更理想的網路架構彈性,整體效率更遠非仰賴「標準 PCIe」和「標準網路」產品能企及。

▲ 因 PHY 支援「乙太網路式 PAM4 調變」,NVLink4 世代的 NVSwitch 藉由 OSFP 擴展到單一機殼之外,可實現「NVLink 一路通到底」的 256 GPU 巨大組態。

也因此,NVLink 網路取代 InfiniBand,成為 DGX SuperPOD 的第一層互連。連接多台 DGX H100 的 NVSwitch 機架,裡面有兩顆 NVSwitch(總計 128 個 NVLink 端口),提供 32 個 OSFP 端口。

若將多台 DGX H100 透過 NVSwitch 交換器,組成 DGX SuperPOD,最多可串聯 32 台 DGX H100,共約十座機櫃(含兩座管理機櫃),能同時運行 256 個 H100,系統總體供應理論運算效能達 1exaFLOPS,足以承擔大規模 AI 工作負載,如使用數兆個參數的大型語言模型。

▲ 同樣是 256 GPU,「使用 InfiniBand 串接 32 個 8 GPU 節點」比起「純 NVLink 一路通到底」,整體效率有如天壤之別。

值得一提的是,Nvidia 2020 年 4 月以 70 億美元併購 Mellanox,讓 Nvidia 補上高效能連網技術的缺口與大規模擴展下代資料中心的能力,逐步整合兩者產品線,Nvidia 更將 Mellanox 技術導入 NVSwitch,第三代 NVSwitch 搭配 SHARP(Scalable Hierarchical Aggregation Reduction Protocol)協定引擎,內建獨立運算單元和暫存記憶體,聚合(All-Reduce)更新多個 GPU 單元的計算結果,減少 NVLink 重複資料傳輸量並加速資料群播(Multicast),對人工智慧訓練亦有立竿見影的助益。

▲ 簡寫很像某日商的「Scalable Hierarchical Aggregation Reduction Protocol」,技術源自 Mellanox 的 InfiniBand 交換器,Nvidia 整合至 NVSwitch,可減少重複資料傳輸量。

NVLink5:頻寬倍增,兩機架實現 FP4 exaFLOPS 運算能量

2024 年第五代 NVLink 伴隨 Blackwell 而生,直接加倍端口理論頻寬至 100GB/s,正名 NVLink-X800 Switch 的第四代 NVSwitch 更有 144 個 NVLink 端口,無阻塞交換容量高達 14.4TB/s,以 1800GB/s 理論頻寬互連每個GPU,讓由 36 組 DGX GB200(一顆 Grace CPU,兩顆 B200 GPU)和 18 個交換器托盤(36 顆 NVSwitch)構成 DGX GB200 NVL72 伺服器,系統總 GPU 理論頻寬達驚人的 130TB/s,將 72 個 GPU 當成單一高效能加速器(超巨大 GPU)時,有高達 1.4exaFLOPS(144 peta FLOPS)的「人工智慧」FP4 理論運算能力,但只占「兩座機架」。

▲ 相較前代 DGX GH200,這次 DGX GB200 的 CPU:GPU 比變成 1:2,可能 Nvidia 也根據 GH200 經驗,摸索出這是最適合的搭配。

基於 DGX GB200 NVL72 的 DGX SuperPOD 將八個系統合而為一,共有 288 個 Grace CPU、576 個 B200 GPU、240TB 記憶體和 11.5exaFLOPS 的 FP4 計算能力。GTC 大會黃仁勳談及 GB200 NVL72 時,說「我們說話的時候,地球只有幾台,也許只有三台達 exaFLOPS(百萬兆浮點運算)等級運算能力的機器」,其一應為英特爾和惠普合作的 Aurora,另一台則是 AMD 與惠普攜手的 Frontier,兩者都是美國能源部新世代「exaFLOPS」等級的超級電腦。

▲ 雖然拿 FP4 去「輾壓」別人 FP32 有作弊之嫌,但區區兩座機架就提供 1.4exaFLOPS 的 FP4「人工智慧運算效能」,真的很厲害就是了。

當然,拿 FP4 精準度和人家 FP32 比,頗有作弊之嫌,狂占別人沒有 FP4 的便宜(換成同樣 FP32 恐怕只剩八分之一效能),Nvidia 發表新品後股價也實在不怎麼捧場,但區區「兩座機架」就能帳面數字趕上別人「200 櫃」(英特爾 Aurora)和「100 櫃」(AMD Frontier),怎麼看都是極度不可思議的事,然後 Nvidia 驚人股價和市值,好像也不算不合理了。

輾壓般的絕對優勢

從單通道資料傳輸率,NVLink 一般是同期 PCIe 兩到三倍左右,如 100Gbps 的 NVLink4 對上 32Gbps 的 PCIe Gen5,總理論頻寬的優勢更明顯,NVLink 約 PCIe 總頻寬五倍,並一直超越自己,從未停止,而「外掛」NVLink 更是如虎添翼,讓 Nvidia 不只賣晶片,能自行打造並銷售高密度設計的人工智慧超級電腦,一口氣賺走所有利潤。

我們把焦點轉向「御三家」的「八顆 GPU 人工智慧伺服器架構」,就可更感受到「如同市值落差的差距」。以 AMD MI300X 為例,乍看單一晶片似乎很威猛,可執行比單顆 Nvidia H100 / H200 更大的大型語言模型,但 GPU 數量一多,整體頻寬遠不如 Nvidia 的弱點,統統一覽無遺,更遑論「超過八顆 GPU(OAM),不得不動用外部網路」的多機多卡集群互連,無論如何與 Nvidia「標準運算節點」DGX 和 SuperPOD 都無法相提並論。

▲ 應該不會有正常人覺得這樣「系統架構」追得上 Nvidia 的 NVLink 和 NVSwitch。

另外,就算不需要「系統內部匯流排從內到外一路通到底」橫向擴展(Scale-Out)應用場域,AMD 和英特爾整體網路架構布局遠不如 Nvidia 完整,手握 Mellanox 產品線的 Nvidia,從網路交換機、網路卡與 DPU 一應俱全,如每台 DGX 都會搭配兩張 Bluefield DPU 供各類運算卸載(Off Load)之用,但 AMD 和英特爾「目前看起來」尚無明確的整體規劃,很可能還在著手類似 DGX 和 SuperPOD 拓樸架構定型方面的工作,也有可能一切都還沒開始,或永遠都不會發生。

▲ 人工智慧時代,連網架構對實際效率的影響,極度舉足輕重,這市場的老大博通也虎視眈眈這競爭日趨激烈的市場。

不過,乙太網路交換晶片的老大博通(Broadcom)並沒有閒著,眼睜睜看著 Nvidia 四處攻城掠地,針對雲端服務業者最佳化的 Jericho 交換機產品線,很隨波逐流產品名稱加上「AI」,暗示以 Nvidia(Mellanox)為首的 InfiniBand 陣營,並不適用人工智慧。

以博通 Jericho3-AI 的產品設計訴求為例,目的在「縮減 AI 訓練時的連網時間」,以 「3.2 萬個、個別連接 800G 乙太網路的 AI 加速器」規模為前提,保持網路不會壅塞的負載平衡與連結調度、零影響故障轉移,以及充分滿足大量連接埠的大型交換/路由表,以將整個網路拓樸「平面化」。

▲ 博通三個乙太網路交換機產品線的 Jericho,長期針對雲端服務業者的需求最佳化,有最強「軟體定義可程式化」能力,自然也當成對抗 InfiniBand 陣營的武器。

AMD 身為「超級乙太網路聯盟」(Ultra Ethernet Consortium,UEC)創始成員之一,即便檯面上 AMD 只有邀請博通高層站台,但 AMD 與博通的緊密合作實乃理所當然之事,博通果然更進一步,將 PCIe Gen 7 世代的交換機晶片 Atlas 4,支援 AMD 的 Accelerated Fabric Link(AFL, Infinity Fabric / xGMI 的 GPU 部分),外界普遍視為意圖追趕 NVLink 的重要一步,但這也是 AMD 難追上 Nvidia 的困境縮影。

▲ 博通宣布 PCIe Gen 7 世代 Atlas 4 交換晶片支援 AMD 的 AFL,可視為這兩間公司正式結盟,攜手對抗 Nvidia。

被「PCIe 業界規範」綁住手腳的 CXL 和 AMD

近期流傳一種觀點:世人寄予厚望的 CXL(Compute Express Link)並不適合人工智慧時代的連結技術。CXL 是看似最具代表性的標準化 NVLink 替代方案,但前兩代(1.1 / 2.0)基於 PCIe Gen5 電氣訊號和 NRZ 調變,每通道僅 32Gbps。即將到來的 CXL 3.0 靠 PCIe Gen 6 和 PAM4 調變將每通道速度提高一倍,但相關產品還要好一陣子才會上市。

▲ 一圖勝千言:NRZ(或可稱為 PAM2)跟 PAM4 兩種不同訊號調變的差別,後者每符號可傳送兩個位元。

況且,關鍵 SerDes 長期受制於 PCIe 標準的 AMD,缺乏「乙太網路式 SerDes」(筆者猜測這敘述源自 400G 乙太網路率先引進 PAM4 調變)嚴重限制產品長期競爭力。乙太網路式 SerDes 受嚴格 PCIe 規範的限制要少得多,因此速度更快,頻寬更高。假如你是面對頻寬和晶片面積受限的晶片設計師,如果你選用 PCIe Gen 5 而不是 112G「乙太網路式」SerDes,晶片性能將有三倍差距。

▲ 也是一圖勝千言:SerDes(序列器/解除序列器)是能夠將大位元寬度的單端匯流排,壓縮為一個或多個差動訊號的裝置,能夠使大量資料點對點傳輸,同時縮減實作寬平行資料匯流排的複雜度、成本、功耗及電路板空間。

Nvidia 創造 NVLink 的動機,明確聚焦「多 GPU 協同作業的所需巨量頻寬」,像點對點資料重新發送、自適式路由、封包重新排序等複雜功能,都可依據增加的連結埠數目而些許折衷,講白話點就是「Nvidia 想怎麼搞就怎麼搞」。

過去 Nvidia 因專有 NVLink 協定受不少外界批評,但最新 NVLink 更新遠遠領先「業界標準」替代方案。NVLink4 不僅採領先業界的 PAM4 調變 SerDes,可在 PCB 走線、電纜或光學元件驅動 100Gbps 通道,相符最快網路互連速度,NVLink5 更倍增至 200Gbps。

即使 PAM4 比 NRZ 更容易受雜訊影響,導致更高位元錯誤率(BER)或因加入前饋式錯誤修正(FEC)造成接收端的額外延遲,因此理論上 NVLink4 和 NVLink5 有更長延遲,但這對大規模平行工作負載的人工智慧應用並不致命,區區幾十奈秒(ns)差異,並不值得認真考慮。

關於「匯流排技術的優劣良窳」,也不完全取決於帳面上「理論」頻寬(NVLink 最大有效利用率是 94.12%,最差情況是 66.7%)。初代 NVLink 的位元錯誤率是 1e-12(10 的 -12 次方,0.000000000001),與PCIe相同,筆者(和多數人)並不清楚後來 NVLink4 與 NVLink5 是否降規到「乙太網路等級」的 1e-4(10 的 -4 次方,0.0001)。或許這對 NVLink 也無關緊要了。

反觀 PCIe 卻背負「許多我們今天習以為常的功能,像熱插拔 NVMe SSD,PCIe 發展初期還沒有人想到,所以被迫疊床架屋,並須符合更嚴格的位元錯誤率和存取延遲要求」原罪,這更是 PCIe 在 Gen 6 之前,避免 PAM4 調變和任何前饋式錯誤修正的主因。

總之,有太多各式各樣因素,像製造成本、每資料位元的耗電量與能量、和快取記憶體資料一致性協定等等,不一而足,沒有絕對標竿。依循「業界規範」以降低成本和避免風險,並不能說是絕對錯誤的抉擇,像 AMD 的 GPU 虛擬化,也是優先選擇 PCIe 標準制定的 SR-IOV(Single-Root I/O Virtualization)。

但像蘋果「關起門自己玩,搶在競爭對手前吃自己的午餐」而獲得的不對稱利基,NVLink 仍比開放替代方案領先多年,依舊是不爭事實。博通 PCIe Gen 6 交換晶片 Atlas 3 要到 2025 下半年,再考量到 PCIe 更新節奏約三年,假若 AMD 沒有另尋更早登場的 PCIe Gen 7 交換機解決方案,或自己動手做 AFL 交換機晶片,可合理預估要到 2028 年,才能看到 AMD 推展加速 AFL 計算架構的成果。

如果 AMD 要等待博通的 Atlas 4 才能實際推廣 AFL,很可能已是 2028 年才會發生的事了,AMD 等得到那時嗎?

行文至此,筆者好像忘記了某間公司?算了,暫時不重要。

重視「頻寬」依然是 Nvidia 的傳統和多條護城河的基本

當 GPU 邁向泛用化並踏入高效能運算和人工智慧,「每運算可分配到的記憶體頻寬,持續穩定下滑」,更讓提高運算效能這件事,絕非區區增加特化指令與擴張執行單元布局空間,即可迎刃而解,更需花工夫搞定頻寬這件事,一旦頻寬不足,就發揮不出完整效能。

回想過往 GPU 雙雄效能戰爭,細心的人或多或少可注意到長期有某種特殊現象:要達成相同效能水準,AMD(ATi)同級產品往往需要比 Nvidia 高許多的記憶體理論頻寬。這件事早在 2004 年 NV40(GeForce 6 系列)記憶體控制器內建壓縮傳輸機能,Nvidia 不停演進技術並陸續申請專利,就已埋下種子,這也是一條「看不見的護城河」(AMD 應對此很有感),有待筆者日後另外尋找機會深度分析。

2004 年的十年後,NVLink 誕生,與其再走過十個年頭,這 20 年來,筆者親眼見證 Nvidia 持之以恆的埋首耕耘充沛頻寬,與深度掌握「怎樣應用需求需要怎樣系統架構」(英特爾應該很脫力),這不啻是了不起的遠見,必須領導者有遠大眼光,堅毅精神,不惜成本,持之以恆,更讓人不得不感慨「超過 2 兆美元市值」真的得來一點都不僥倖,儘管黃仁勳的演講總是滿滿話術。

(首圖來源:輝達

立刻加入《科技新報》LINE 官方帳號,全方位科技產業新知一手掌握!

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0