新闻中心

CUDA L2 持久化缓存怎么用:Access Policy Window 不是容量预留 NEWS DETAIL

资讯分类 · NVIDIA 计算平台 作者 · 中科新远技术编辑部 审核人 · 中科新远 发布时间 · 2026-08-02 更新时间 · 2026-08-02 来源 · NVIDIA CUDA 编程指南
CUDA L2 持久化缓存怎么用:Access Policy Window 不是容量预留
场景示意图,不对应具体设备型号、端口布局或技术拓扑。

CUDA 的 L2 Access Policy Window 经常被理解成“给某段数据划出一块专用缓存”,由此产生窗口覆盖越大、hitRatio 越高越好的配置。实际机制更接近一种访问策略提示:应用指出某个地址范围的访问希望获得持久化倾向,硬件仍会在容量、并发流和替换压力下作出决策。若热数据集合大于可用 set-aside,或者多个流同时声明大窗口,原本想保留的数据反而可能相互驱逐。

判断是否适合使用这项能力,首先要回答数据是否会在足够短的时间内重复访问,以及它与一次性流式数据是否能明确区分。模型权重片段、查找表或迭代复用的状态可能形成稳定热集;只读一次的大张量则不应挤占持久化倾向。基线必须同时观察内核时延、L2 命中相关指标、显存流量和端到端业务周期,而不是只比较单个 kernel 的最好一次结果。

从工作集而不是分配大小开始

窗口范围应来自实际会重复命中的地址区间,而不是整块 cudaMalloc 分配。通过分析器和代码路径确认每轮访问的偏移、步长、生命周期与复用次数,再把稳定热集和扫描型数据分离。工作集会随批量、序列长度或模型路由变化时,应测试多个分位场景,避免只为固定样本优化。

set-aside 需要全进程视角

L2 持久化容量是设备级资源,同一进程内多个流以及同机其他上下文都会形成竞争。平台应记录设置值、设备上限和恢复默认值的时机,并在模型切换或作业退出时清理策略。不能把一次实验参数写进通用启动脚本后假设所有 GPU 代际都具备相同容量与行为。

hitRatio 是分配压力控制量

hitRatio 可以帮助多个窗口在有限持久化空间中分摊倾向,它不是预测命中率的承诺。调参时固定数据集与并发,逐级改变范围和比例,寻找端到端收益开始饱和的位置;如果降低比例反而更稳定,通常说明原配置引发了缓存抖动或挤压其他关键访问。

并发流要测试互相干扰

单流微基准通过后,还要加入真实的预处理、通信、后处理和其他模型实例。分别测试窗口互不重叠、部分重叠和完全不同的热集,观察尾延迟是否放大。对多租户节点,若应用无法协调设备级资源,应优先保证可预测性,不把持久化策略当成默认能力。

回退必须恢复缓存策略

上线配置应有明确开关,在驱动、CUDA、模型或批量变化后自动进入复测。关闭功能时不仅删除应用参数,还要重置流的访问策略和设备限制,重新建立冷启动与稳态基线。保留分析器版本、GPU 身份、输入摘要和每轮结果,确保收益可复现。

实施前的验证序列

  1. 标出真实重复访问的地址范围、步长和生命周期。
  2. 记录目标 GPU 的 L2 与持久化 set-aside 能力。
  3. 比较不同窗口、hitRatio 和并发流下的端到端指标。
  4. 加入批量变化、多实例和其他内核的缓存竞争。
  5. 验证关闭策略、重置状态和版本升级后的完整回退。

适用版本与技术边界

CUDA 编程指南描述了 L2 cache set-aside、访问策略窗口以及 hitRatio 等控制方式。

这些接口表达缓存使用倾向,不保证指定数据永久驻留,也不能替代目标 GPU 与真实访问序列上的测量。

文中机制与配置边界依据NVIDIA CUDA 编程指南的当前版本核对;官方说明用于确定候选条件,实际部署仍需结合完整料号、服务器支持清单、软件组合与现场测试。

项目实施中的能力边界

中科新远是 NVIDIA Networking Elite 合作伙伴。中科新远可结合 GPU 服务器、模型访问特征与高速数据路径协助建立 L2 热集基线和并发回归,使缓存参数有可追溯的工作负载证据。具体合作范围和项目交付内容以当前有效资质、官方目录及书面确认结果为准。

把 hitRatio 设置为 1 是否能让窗口数据全部保留在 L2?

不能。它描述访问策略倾向,实际驻留仍受窗口大小、set-aside 容量、并发访问和替换压力影响;必须通过目标负载的指标与时延验证。

部署对象与产品组合