PyTorch嵌套图稳态提速约4.5倍
先了解这件事
开发者cfregly在NVIDIA B200上使用PyTorch 2.14.1(CUDA 13.0)实测发现,开启nestedgraphbreaks后,depth-8场景的同步稳态中位延迟从407.57微秒降至89.94微秒,各配对组合提速约4.50至4.58倍;这属于其特定环境下的实测结果,并非所有部署均已获证实。 cfregly称,嵌套CUDA Graph将每次被profile调用的replay启动次数从16次降至2次,生成代码也由16个各含4个ATen算子的区域合并为2个各含32个算子的区域。该优化首次调用存在冷启动小亏,因此他建议分别统计首次调用与重复执行的稳态耗时,并检查编译产物和CUDA replay活动。
AI 根据报道生成 · 2 小时前更新
事件进展
3 个进展
- 10月22日 12:30 · 1 篇报道总结嵌套图性能测量方法AGI Hunt:嵌套 CUDA Graph 性能测量方法论:检查编译产物与 replay 活动,冷热分开测
- 10月22日 12:30 · 1 篇报道实测嵌套 CUDA Graph 降低启动次数AGI Hunt:嵌套 CUDA Graph 将 replay 启动次数从 16 次降至 2 次
- 10月22日 12:29 · 1 篇报道PyTorch嵌套图性能实测AGI Hunt:PyTorch 嵌套图实测:稳态提速 4.5 倍但冷启动更慢
报道时间线
沿着报道,了解事件的不同侧面。
- AGI Hunt嵌套 CUDA Graph 性能测量方法论:检查编译产物与 replay 活动,冷热分开测
测量嵌套 CUDA Graph 优化时,应检查编译器生成的代码片段与 CUDA replay 活动,并将首次调用的冷启动耗时和重复执行的稳态耗时分开统计。实测显示,每次调用的 replay 启动从 16 次降至 2 次,depth-8 稳态中位延迟从 407.57µs 降至 89.94µs。
- AGI Hunt嵌套 CUDA Graph 将 replay 启动次数从 16 次降至 2 次
实测显示,开启嵌套 CUDA Graph 后,每次被 profile 的调用中 replay 启动次数从 16 次降至 2 次。对比 depth-8、seed-0 生成的 Inductor 代码,未开启时为 16 个 wrapper 区域各含 4 个 ATen 算子,开启后合并为 2 个区域各含 32 个算子,从而减少内存碎片并扩大融合区域、降低启动开销。
- AGI HuntPyTorch 嵌套图实测:稳态提速 4.5 倍但冷启动更慢
NVIDIA B200 上的 PyTorch 2.14.1(CUDA 13.0)实测显示,开启 nestedgraphbreaks 可让 depth-8 场景的同步稳态中位延迟从 407.57µs 降至 89.94µs。
本事件热度走势
还没有足够的连续观测数据,暂不绘制趋势。