Intel 最近舉行了 Interconnect Day 2019 ,當中詳細介紹了處理器與處理器之間的 Compute Express Link(CXL)超高速互聯新標準。雖然現階段構思僅供數據中心的伺服器使用,但如果發展理想的話,業界推斷有機會應用於未來的 Intel Xe 架構獨立顯示卡,使多張顯示卡(Multi-GPU)可真正共用到記憶體資源,或許會發展出比 NVIDIA SLI 或 AMD CrossFire 更先進的 Multi-GPU 互聯技術,於 CPU 與 GPU 的互聯甚或媲美 NVIDIA NVLink。
CXL 技術簡介
取代 PCIe
先講回 Intel CXL 標準的原意——作為 CPU 與 Accelerator 加速器(如 FPGA / GPU 顯示卡)之間的互聯通信。一直以來, CPU 都是透過主機板上的 PCIe 插槽及 PCIe 協議( Protocol )與顯示卡溝通,但當 Intel 聯合阿里巴巴、 Cisco 、 Dell EMC 、 Facebook 、 Google 、 HPE 、華為及微軟組成強大陣容的聯盟後,就發表了 CXL 的開放標準,以解決目前 PCIe 協議於 CPU 與顯示卡之間的高延遲( Latency )及頻寬不足的問題。
兼容性高
為兼容各品牌的各種產品, CXL 1.0 的物理層面是基於 PCIe 5.0 ,所以未來的 Server CPU 仍是置於主機板 CPU Socket,顯示卡 / 繪圖卡也是插在 PCIe 插槽上,不過 CPU 與 GPU 並非以 PCIe 協議進行溝通,而是採用新的 CXL 協議,因此 PCIe 5.0 可理解為純粹提供實體插槽。傳聞 Intel 會於 2020 年推出 Xe 系列獨立顯示卡, PCIe 5.0 可能會在差不多時間應用於伺服器,或者再晚一、兩年, Intel 預計 CXL 技術會於 PCIe 6.0 年代被廣泛應用。
提升 CPU 與 GPU 的互聯效率
CXL 強調低延遲,允許 CPU 與 GPU 之間繞過 PCIe 協議,用 CXL 協議來共用、互取對方的記憶體資源,形成一個「連貫」的記憶體池。當中可細分為 3 個協議:
CXL.io :類似目前的 PCIe 輸入輸出 I/O,取代 PCIe 協議
CXL.cache :容許加速器 / GPU 要求存取 CPU 的快取( Cache )
CXL.memory :反方向,容許 CPU 要求存取加速器 / GPU 的記憶體,例如是 HBM2 等
透過 CXL 協議, CPU 與 GPU 之間就形同連成單一個龐大的堆疊記憶體池( Stacked Memory ), CPU Cache 和 GPU HBM2 記憶體猶如放在一起,有效降低兩者之間的延遲,故此能大幅提升數據運算效率,令 AI 人工智能、機器學習、媒體服務、高效能運算( HPC )及雲端服務變得非常快速。
CXL 或應用於 Intel Xe 家用顯示卡
那為甚麼外媒 Wccftech 的編輯會認為 CXL 可推動 Intel Xe 架構多路顯示卡的發展,甚至有機會比 NVIDIA SLI 或 AMD CrossFire 先進呢?雖然目前 CXL 都只是指 Server CPU 及 GPU 之間的互聯, Intel 亦從沒說過 Xe 顯示卡會否與 CXL 有關,甚至也沒怎透露過更多眉目,但既然 CXL 可令 CPU 和 GPU 共用記憶體,也應該可在 GPU 與 GPU 之間上實現。
過去 SLI 的限制
Pascal 年代的 GeForce GTX 10 系列或更早前的遊戲顯示卡,所用的 NVIDIA SLI 多路顯示卡技術,並不太有效把多張顯示卡的記憶體「加起來」, API 或應用程式可能將之視為單一 GPU ,令工作分配未必平均,各張顯示卡需要不斷「同步」大家的資料,但 SLI 互聯技術的延遲又高、頻寬不夠,導致較少遊戲及應用程式能有效發輝 Multi-GPU 的功用。
NVLink 早已做到 CXL 功能
不過上述 CXL 的功能,其實某程度上,NVIDIA 早於 2014 年的 NVLink 已經實現到。 NVLink 初期是應用於 Pascal 架構的 Tesla 顯示卡,之後在 Turing 架構的 GeForce RTX 2080 及 RTX 2080 Ti 打進家用市場。 NVLink 是種取代 SLI 的 Multi-GPU 互聯技術,能把各 GPU 的記憶體加起來(Stacked Memory),因而大幅提升頻寬及運算效率。但除了做 GPU <-> GPU 之間的互聯外,其實 NVLink 亦能於 GPU <-> CPU 之間、或 Multi-GPU <-> CPU 之間做到 Stacked Memory,使 CPU 與 GPU 的記憶體能夠共享,即是上述 CXL 的功能。只不過支援 NVLink 的 CPU 實在少之又少,最著名的是 IBM 的 POWER8 處理器。即使是 NVIDIA 的 DGX-2 超級電腦,都未能發揮到 NVLINK CPU <-> GPU 互聯優勢,因為內裡搭載的是 Intel Xeon CPU,並不支援 NVLink 。
CXL 比 NVLink 優勝之處
無可置疑,Intel 是市佔率最高的 CPU 品牌,若要在 CPU <-> GPU 互聯技術比武, CXL 絕對比 NVIDIA NVLink 有更大優勢,兼容的產品亦多很多。不過 CXL 能否在家用市場大放異彩,就很難說準,始終目前都很少遊戲開發者會為 SLI / NVLink 一小撮人加入 Multi-GPU 技術,更遑論購買多張 Intel Xe 顯示卡的客戶群, CXL 的 CPU <-> GPU 互聯能否為遊戲帶來突破性影響,亦是未知之數。一切還是待 Intel 發表 Xe 顯示卡才下定論吧。
Source:Wccftech、NVIDIA NVLink Blog、Anandtech、IBM