已开启
[Bug]: 【26.2.0众测】Inductor-Triton 后端在 ResNet50 上比 Eager 慢约 22 倍 #5242
tsst创建于  9月29日
tsst
tsst
9月29日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:

  • API 令牌或密钥
  • 密码或身份验证凭证
  • 私有网址或接口地址
  • 个人或机密数据
  • ...

在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用 <TOKEN> 等占位符替代原有内容。

环境信息

硬件:Atlas 800T A3(IT22HMDA_2_S,Ascend910_9382,HBM 64GB/芯片)

软件:CANN 9.1.0 + TorchNPU 26.1.0(torch 2.9.0 / torch_npu 2.9.0.post6)

模型:torchvision resnet50,输入 (32, 3, 224, 224)

🐛 问题描述

现象:

正确性 allclose = True,但性能严重劣化;

Eager 稳态:13.87 ms/iter;

Compiled 稳态:306.13 ms/iter;

稳态加速比:0.045x(慢约 22 倍)。

复现步骤:
bash

cd /workspace/scripts/task2
python3 backends/triton_backend.py 2>&1 | tee logs/triton_backend.log

日志证据:
text

============================================================
[性能]

Eager 稳态 : 13.83 ms/iter
Compiled 首次 : 305.31 ms(含编译,冷态口径)
Compiled 稳态 : 305.87 ms/iter
稳态加速比 : 0.045x (Eager/Compiled)

影响:

CNN 类模型上 Triton 后端默认路径性能严重劣化,torch.compile 不仅没加速,反而慢 22 倍;

所有 GuardFilter 示例(gf1~gf6)走的都是默认 Triton 后端,加速比全部落在 0.045x~0.046x,说明 GuardFilter 只影响前端重编译行为,不改变后端性能。

建议排查方向:

对比 Triton 生成的 kernel 与 Eager 的算子实现,确认是否有算子回退到低效路径;

检查编译产物是否有效利用 NPU cube/vector 单元;

对比同版本下 DVM(1.035x)、TorchAir-GE(1.172x)正常加速的后端,定位 Triton 路径的差异。<a href="https://gitcode.com/user-attachments/files/7404318/2776ecb5dc8647d9a4812757129c7042.png" target="_blank">2776ecb5dc8647d9a4812757129c7042.png</a>

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
TorchNPU-BotTorchNPU-Bot成员
9月29日 添加了label:help-wantedbot-triaged
ascend-robotascend-robot成员
9月29日 添加了label:bug
TorchNPU-Bot
TorchNPU-Bot成员
9月29日 评论:

检测到社区任务相关 issue,自动添加标签:help-wanted

likedislike
tsst
tsst
9月29日 评论:

补充图片 issue2.png

likedislike
tssttsst
25 天前 关联了pull request:【26.1.0众测】TorchNPU 众测任务交付(任务1+任务2)- ander_tsing