当前位置: 华文世界 > 数码

24G显存的显卡好稀少?我可以用内存当闪存吗?

2024-07-07数码

AI对GPU巨大的显存需求&昂贵的显卡

最近想玩玩AI,文生图的速度,不仅仅取决于显卡核心,还对显存容量有巨大的要求。

想要出图快,不爆显存,8G根本不够,12-16G刚刚能接受,24G才是完美配置。

除了魔改的2080Ti,能买到的就只有3090,3090Ti,4090,7900XT。这个价格都是超贵的!!!

你选好一点的cpu,支持个128GB内存是没问题的。现在的PCIE5.0的固态硬盘也推出了,最大读写15GB/12GB。 由此我不由生出一个想法:能不能把内存,或者固态硬盘当作显存用呢?

微软的directstorage,只能为游戏服务,他的思想是显卡直接读取ssd的资料,和显存没太大关系。

把内存当显存?

那么,我的想法有没有可能实现呢?我一致认为是不可能的,直到我看到了一条消息

在韩国科学技术院的支持下,Panmnesia 公司最新展示了一项新技术,可以让 GPU 通过 Compute Express Link(CXL)接口直接访问系统存储, 也意味着 GPU 可以使用系统存储充当其显存。

该公司将这种 PCIe 附加显存方案命名为 CXL GPU Image, 延迟时间在 100 纳秒以下,明显快于传统的固态硬盘。

CXL 是一种在 PCIe 链路上工作的协议,但该技术必须得到 ASIC 及其子系统的认可。由于 GPU 中没有支持 DRAM 和速 SSD 端点的 CXL 逻辑结构和子系统,因此无法简单地将 CXL 控制器添加到技术堆栈中。

Panmnesia 为此开发了一系列支持所有关键 CXL 协议的硬件层,整合到一个统一的控制器中,实现了这项成果。

关键的CLX接口

而其中提到的CXL接口,我搜索了一下,有以下作用

CXL简介:什么是 Compute Express Link?

CXL是一个开放标准的行业支持的缓存一致性互连,用于处理器、内存扩展和加速器。从本质上讲,CXL 技术在 CPU 内存空间和连接设备上的内存之间保持内存一致性。这支持资源共享(或池化)以获得更高的性能,降低软件堆栈的复杂性,并降低整体系统成本。CXL 联盟已经确定了将采用新互连的三类主要设备:

类型1设备:智能 NIC 等加速器通常缺少本地内存。通过 CXL,这些设备可以与主机处理器的 DDR 内存进行通信。

类型2设备:GPU、ASIC 和 FPGA 都配备了 DDR 或 HBM 内存,并且可以使用 CXL 使主机处理器的内存在本地可供加速器使用,并使加速器的内存在本地可供 CPU 使用。它们还共同位于同一个缓存一致域中,有助于提升异构工作负载。

类型 3 设备:内存设备可以通过 CXL 连接,为主机处理器提供额外的带宽和容量。内存的类型独立于主机的主内存

类型2设备:CXL.io + CXL.cache + CXL.memory

看来CXL接口,可以让显存和内存统一池子化,对显卡透明提供统一的内存空间

如果真的可以,那就太好了。可是有朋友要问,主板上哪来的CXL接口?现在显卡都插在PCIE上面。

我又找了下,得到以下答案

Compute Express Link 与 PCIe:这两者有什么关系?

CXL 建立在PCIe的物理和电气接口之上,其协议建立了一致性、简化了软件堆栈并保持与现有标准的兼容性。具体来说,CXL 利用 PCIe 5 功能,允许备用协议使用物理 PCIe 层。当支持 CXL 的加速器插入 x16 插槽时,设备会以每秒 2.5 千兆传输 (GT/s) 的默认 PCI Express 1.0 传输速率与主机处理器的端口进行协商。只有双方都支持 CXL,CXL 交易协议才会被激活。否则,它们作为 PCIe 设备运行。

CXL 1.1 和 2.0 使用 PCIe 5.0 物理层,允许通过 16 通道链路在每个方向上以 32 GT/s 或高达 64 GB/s 的速度传输数据。

CXL 3.0 使用 PCIe 6.0 物理层将数据传输扩展到 64 GT/s,支持通过 x16 链路进行高达 128 GB/s 的双向通信。

原来,CXL就是利用PCIE的物理和电气接口,对用户呈现的就是PCIE,只是协议层是兼容的。但是要主板的PCIE接口支持CXL协议,并且扩展卡如显卡也支持CXL协议。这样就完整激活了CXL定义的功能,可以把内存当显存用啦。

只是,这个接口最低要求PCIe5.0 *16 ,等到普及,看来还需要几年!