用于AI和HPC应用的现代GPU内置有限数量的高带宽内存(HBM),限制了它们在AI和其他工作负载中的性能。然而,新技术将允许公司通过连接到PCIe总线的设备插入更多内存来扩展GPU内存容量,而不受GPU内置内存的限制——它甚至允许使用SSD来扩展内存容量。由韩国知名KAIST研究机构支持的公司Panmnesia开发了一种低延迟CXLIP,可用于使用CXL内存扩展器扩展GPU内存。
用于AI训练的更高级数据集对内存的需求正在迅速增长,这意味着AI公司要么必须购买新的GPU,要么使用不太复杂的数据集,要么以牺牲性能为代价使用CPU内存。虽然CXL是一种正式在PCIe链路上运行的协议,从而使用户能够通过PCIe总线将更多内存连接到系统,但该技术必须得到ASIC及其子系统的识别,因此仅添加CXL控制器不足以使该技术发挥作用,尤其是在GPU上。
由于缺乏支持GPU中DRAM和/或SSD端点的CXL逻辑结构和子系统,Panmnesia在集成CXL以扩展GPU内存方面面临挑战。此外,GPU缓存和内存子系统无法识别除统一虚拟内存(UVM)之外的任何扩展,而这往往速度较慢。
为了解决这个问题,Panmnesia开发了一个符合CXL3.1标准的根复合体(RC),它配备了多个根端口(RP),支持通过PCIe连接外部内存,以及一个主机桥,该桥带有一个主机管理的设备内存(HDM)解码器,可连接到GPU的系统总线。HDM解码器负责管理系统内存的地址范围,它本质上让GPU的内存子系统“认为”它正在处理系统内存,但实际上,该子系统使用PCIe连接的DRAM或NAND。这意味着可以使用DDR5或SSD来扩展GPU内存池。
据Panmnesia称,该解决方案(基于定制GPU,标记为CXL-Opt)经过了广泛的测试,显示出两位数纳秒的往返延迟(而三星和Meta开发的原型为250纳秒,在下图中标记为CXL-Proto),包括标准内存操作和CXLflit传输之间的协议转换所需的时间。它已成功集成到硬件RTL的内存扩展器和GPU/CPU原型中,证明了其与各种计算硬件的兼容性。
根据Panmnesia的测试,UVM在所有测试的GPU内核中表现最差,这是因为页面错误期间主机运行时干预和页面级数据传输的开销通常超出了GPU的需求。相比之下,CXL允许通过加载/存储指令直接访问扩展存储,从而消除了这些问题。
因此,CXL-Proto的执行时间比UVM短1.94倍。Pamnesia的CXL-Opt进一步将执行时间缩短了1.66倍,优化的控制器实现了两位数纳秒的延迟,并最大限度地减少了读/写延迟。这种模式在另一张图中也很明显,该图显示了GPU内核执行期间记录的IPC值。它表明,Pamnesia的CXL-Opt的性能速度分别比UVM和CXL-Proto快3.22倍和1.65倍。
总体而言,CXL支持可以为AI/HPCGPU带来很大帮助,但性能是一个大问题。此外,AMD和Nvidia等公司是否会为其GPU添加CXL支持还有待观察。如果使用PCIe连接内存作为GPU的方法确实大行其道,那么只有时间才能告诉我们,行业巨头是否会使用Panmnesia等公司的IP模块,还是只是开发自己的技术。