跳到主内容
快讯直播
AI智模界
AI 词典

GPUDirect Storage:让 GPU 直连硬盘取数

一句话定义:GPUDirect Storage(常简称 GDS)是一种让 GPU 绕过 CPU 和主机内存、直接从 NVMe 固态盘读取数据的技术,目的是把数据搬运这条路修直,别让算力干等。

它解决什么问题

传统的数据加载路径是这样的:数据先从 NVMe 盘读到主机内存,再由 CPU 发起拷贝,送进 GPU 的显存。中间要过两次拷贝,CPU 全程参与。训练大模型时,每个 batch 的数据都要走一遍这条路,于是常见一种尴尬场面:GPU 明明还没算完,下一批数据却还在路上,利用率曲线忽高忽低。这就是"算力被数据饿死"。

打个厨房的比方。后厨(GPU)做菜极快,但食材只能先放到小区门口的快递柜(主机内存),再由厨师(CPU)一趟趟搬进后厨。厨师本来该掌勺,结果大半时间在搬箱子。GDS 相当于给后厨开了一条专用卸货通道:货车(存储设备)通过 DMA 引擎,把食材直接卸到砧板旁(GPU 显存),厨师只管炒菜。

技术上,它靠的是存储驱动和 GPU 驱动之间的配合,让 NVMe 设备通过 PCIe 的点对点 DMA,把数据直接写进 GPU 显存。CUDA 里提供了 cuFile 这类接口,让程序用类似读写文件的写法走这条直连路径。

和相邻概念的区别

容易混的是 GPUDirect RDMA:那是网卡直接读写 GPU 显存,解决的是"网络数据进 GPU";GDS 解决的是"存储数据进 GPU"。前者管网络,后者管硬盘。

路径数据经过谁在搬典型瓶颈
传统读取NVMe → 主机内存 → GPU 显存CPU 发起两次拷贝CPU 占用、内存带宽
GPUDirect StorageNVMe → GPU 显存DMA 引擎直接搬存储带宽、PCIe 带宽

它也和"直接 I/O"不同:直接 I/O 只是绕开操作系统的页缓存,终点仍是主机内存;GDS 的终点直接是显存。

对从业者的意义

数据密集场景受益最明显:大模型训练与推理的数据加载、图像和视频处理、基因组分析、实时日志检索。收益主要有三块——CPU 核被解放出来干别的、端到端延迟下降、同样的 GPU 能喂进更多数据。

但别把它当万能开关。它需要硬件、驱动、文件系统或存储栈多方配合,某些部署形态下并不适用,具体支持范围以官方页面为准。落地前先量一件事:你的瓶颈到底在计算,还是在数据加载?如果是后者,GDS 值得评估;如果是前者,换存储路径帮助有限。

对普通人来说,这条通道不显眼,却决定了同样一批 GPU 能多快吐出结果——AI 服务响应更利落,背后往往就有它的功劳。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。