数码硬件爱好者和游戏玩家朋友都知道,显存容量是决定一款显卡性能和最终实际游戏体验的一项重要因素。
显存不足,通常有以下几种典型的表现:一、游戏帧数下降、运行卡顿;二、在游戏运行过程中,可能会出现花屏、模糊、纹理丢失或图形渲染不正确的情况。
三、在最严重的情况下,可能会导致应用程序(包括游戏和3D软件等)在运行过程中出现闪退,或者根本无法正常运行,直接报错。
不过,本文的主题不是讨论游戏,而是讨论AI,显存容量在AI这种应用场景中也非常重要。
如果显存不足,可能会出现训练速度变慢、无法加载完整模型、批量(batchsize)大小受限等问题,甚至可能导致训练任务突然中断,在某些AI软件中,可能会直接报错“CUDAoutofmemory”,请参阅下图。
这就是为什么AI用户都在追求搭载大容量显存的显卡、为什么魔改版的GeForceRTX2080Ti22GB显存版会成为香饽饽的原因。
然而,通过各种魔改手段提升显卡的显存容量,只能算是“曲线救国”,这种方案或多或少都存在一些缺陷和短板。最理想的方式当然是入手最新的、搭载大容量显存的显卡,比如GeForceRTX409024GB。
对于游戏玩家群体来说,这个问题并非不能解决,花一两万块钱买一个GeForceRTX4090显卡,咬咬牙还是可以承受的。
但是,AI这种应用场景不同,除了需要大容量显存支持之外,还需要有巨大的算力。也就是说如果真的要做商业项目,买一张GeForceRTX4090是远远不够的,只能算杯水车薪,比如微软和OpenAI,A100专业训练卡是以万为单位批量购买的。
GeForceRTX4090价格很贵,对于大多数普通小型工作室和个人AI用户来说,买一个、或者买几个GeForceRTX4090可以接受,但是买再多就很难接受了,成本太高。
所以在这种情况下,尽可能地以低成本方式提升显卡的显存容量,就成为了一个卡脖子的难题。
近日,有一个这方面的好消息,由韩国科学技术院(KAIST)支持的企业Panmnesia开发出了一种可以使用CXL内存扩展器扩展GPU显存的方案。
要理解这个方案,首先要理解什么是“CXL内存”?CXL内存全称为ComputeExpressLink(CXL)Memory,是一种基于CXL标准的新型内存,采用高速互联协议,可提供高速、低延迟的内存访问。
该技术可以使CPU和其他计算单元(如GPU、FPGA等)能够共享和访问统一的内存空间,从而提高数据处理的效率和整体系统的性能。
Panmnesia开发了一种符合标准的根复合设备,该设备体配备了多个根端口(RP),支持通过PCIe端口连接的外部内存,还有一个带有主机管理设备内存(HDM)解码器的主桥接器,该解码器连接到GPU的系统总线。
主桥接解码器负责管理系统内存的地址范围,可以“欺骗”,使GPU的内存子系统“认为”它正在使用显卡自身所搭载的显存,而实际上使用的是通过PCIe连接的外部DRAM或NAND。
用最简单、通俗易懂的语言来说,就是采用这种技术,可以使用符合要求的DDR5内存或者固态硬盘来扩展显卡的显存。
除了能用、可以用之外,是否“好用”,也就是它的实际性能(主要是延时表现)也非常重要。
根据Panmnesia公布的性能测试对比结果显示,该方案(CXL-Opt)比虚拟内存方案(UVM)和三星与Meta所开发的另外一种解决方案(CXL-Proto)快3.22倍和1.65倍,请参阅上图。
总的来说,Panmnesia所推出的解决方案非常有潜力,尤其是对广大预算有限的中小型AI开发用户群体来说。但是,如果要大规模普及商用,还需要AMD和英伟达在显卡中添加CXL支持。
未来最大的一种可能性是,AMD和英伟达会采用类似的解决可思路和方案,换一些名词和术语,开发一种属于自己的解决方案。