PCIe 擴展 GPU VRAM 容量新技術 — 實現兩位數納秒延遲!
2024-07-03 10:40:49 EETOP用于 AI 和 HPC 應用的現代 GPU 內置了有限數量的高帶寬內存 (HBM),限制了它們在 AI 和其他工作負載中的性能。然而,新技術將允許GPU通過與連接到PCIe總線的設備插入更多內存來擴展GPU內存容量,而不是局限于GPU內置的內存 - 它甚至允許使用SSD進行內存容量擴展。Panmnesia 是一家由韓國著名的 KAIST 研究所支持的公司,它開發了一種低延遲的 CXL IP,可用于使用 CXL 內存擴展器擴展 GPU 內存。
用于 AI 訓練的更高級數據集的內存需求正在迅速增長,這意味著 AI 公司要么必須購買新的 GPU,要么使用不太復雜的數據集,要么以犧牲性能為代價使用 CPU 內存。盡管 CXL 是一種正式工作在 PCIe 鏈路之上的協議,從而使用戶能夠通過 PCIe 總線將更多內存連接到系統,但該技術必須得到 ASIC 及其子系統的認可,因此僅添加 CXL 控制器不足以使該技術正常工作,尤其是在 GPU 上。
為了解決這個問題,Panmnesia 開發了一個符合 CXL 3.1 標準的根復合體(RC),配備多個根端口(RP),支持通過 PCIe 外部內存,并且具有帶有主機管理設備內存(HDM)解碼器的主橋,該解碼器連接到 GPU 的系統總線。HDM 解碼器負責管理系統內存的地址范圍,使 GPU 的內存子系統“認為”它在處理系統內存,但實際上該子系統使用的是通過 PCIe 連接的 DRAM 或 NAND。這意味著可以使用 DDR5 或 SSD 來擴展 GPU 內存池。
根據 Panmnesia 的說法,這種基于定制 GPU 并標記為 CXL-Opt 的解決方案經過了廣泛測試,顯示出兩位數納秒的往返延遲(相比之下,三星和 Meta 開發的CXL-Proto,在下圖中顯示為 250 納秒),包括標準內存操作和 CXL flit 傳輸之間協議轉換所需的時間。它已經成功集成到硬件 RTL 中的內存擴展器和 GPU/CPU 原型中,證明其與各種計算硬件的兼容性。
根據 Panmnesia 的測試,UVM(統一虛擬內存)在所有測試的 GPU 內核中表現最差,這是由于在頁面錯誤期間主機運行時干預的開銷以及在頁面級別傳輸數據,這往往超過了 GPU 的需求。相比之下,CXL 允許通過加載/存儲指令直接訪問擴展存儲,從而消除了這些問題。
因此,CXL-Proto 的執行時間比 UVM 短 1.94 倍。Panmnesia 的 CXL-Opt 進一步將執行時間減少了 1.66 倍,其優化控制器實現了兩位數納秒的延遲,并將讀/寫延遲最小化。這一模式在另一張圖表中也有所體現,圖表顯示了 GPU 內核執行期間記錄的 IPC 值。數據顯示,Panmnesia 的 CXL-Opt 分別比 UVM 和 CXL-Proto 的性能速度快 3.22 倍和 1.65 倍。
總體而言,CXL 支持可以為 AI/HPC GPU 帶來很多好處,但性能是一個大問題。此外,AMD 和 Nvidia 等公司是否會為其 GPU 添加 CXL 支持還有待觀察。如果將PCIe連接內存用于GPU的方法確實得到了發展,那么只有時間才能證明行業重量級人物是否會使用Panmnesia等公司的IP塊,或者只是開發自己的技術。