场景

服务第一次启动要下载权重;离线推理要读海量小文件。两者可能都“慢”,但前者可能受网络与大文件吞吐限制,后者可能受元数据、小读和解析开销限制。

先分解时间

拆成下载 / 读盘 / 解码 / 预处理 / 主机到设备传输 / GPU 计算。分别测量冷启动和缓存已热时的稳态,不能把热缓存结果称为磁盘本身的速度。

起步改进

  • 权重缓存到本地,明确版本、校验和与失效规则。
  • 适当打包小文件,比较打包前后吞吐与 CPU 开销。
  • 有界预取,让下一批数据提前准备;队列太深会占内存。
  • 在同一工作负载下比较方案,记录并发、读写比例与块大小。

存储优化的目标是减少 GPU 空等,最终仍要看 端到端吞吐。双缓冲 的思路也适用于数据准备,但不同层的同步和内存机制不同。

参考:NVIDIA CUDA:异步传输与执行。