已合并
[fix] Use bundled AscendC backend for torch.compile #510
张伟创建于 17 天前
[fix] Use bundled AscendC backend for torch.compile #510
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 张伟 的贡献)atomgit-bot
17 天前 评论:
17 天前 评论:
变更摘要
此 PR 将 torchtitan_npu 中的 torch.compile 后端从对外部 inductor_npu_ext 包的依赖改为使用内置的 AscendC 后端,简化了编译启动流程。核心变更在 torchtitan_npu/entry.py 中:合并了编译条件的判断逻辑,并移除了对 inductor_npu_ext 的强制导入检查及相关错误提示。
主要改动
- 移除
inductor_npu_ext强制导入检查: 删除了原本在torchtitan_npu/entry.py中try...import inductor_npu_ext的整段代码,不再要求用户额外安装inductor_npu_ext包,也不再抛出对应的RuntimeError。 - 合并
compile.enable与model_name条件判断: 将原本嵌套的两层if条件(先判断config.compile.enable,再在其内部判断model_name == "deepseek_v3")合并为单一条件if config.compile.enable and model_name == "deepseek_v3":,逻辑等价但结构更扁平清晰。


atomgit-bot
17 天前 评论:
17 天前 评论:
代码审查
审查总结
已逐一审查所有 3 个变更文件:
docs/feature_guides/torch_compile.md— 发现 1 个问题(P2):第12行的超链接未随文字更新,仍指向已废弃的外部inductor_npu_ext仓库。docs/user-guides/installation.md— 无问题。文档更新与架构迁移一致,移除了旧安装步骤并正确添加了环境变量配置说明。torchtitan_npu/entry.py— 发现 1 个问题(P3):移除inductor_npu_ext导入/检查后,experiments/ao_npu/tests/ops/test_compile_ops.py未同步更新,存在代码路径分歧风险。
按优先级统计:
- P0: 0
- P1: 0
- P2: 1(文档链接不一致)
- P3: 1(测试文件未同步更新)
总体风险判断:低风险。 核心变更(将 AscendC 后端从外部独立包迁移为 torch_npu 内置、移除 entry.py 中的旧导入检查)逻辑正确且与文档一致。两个发现的问题均为外围一致性问题,不涉及运行时正确性或安全性回归。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 0 |
| 🟡 建议 | 1 |
💬 仅评论


17 天前 添加了label:stat/needs-squash
17 天前 添加了label:cann-cla/yes
此处折叠了414条消息 查看更多
zhaowei1936
7 天前 评论:
7 天前 评论:
/lgtm


zhaowei1936
7 天前 评论:
7 天前 评论:
【MR评价】评价分数:3,
评价意见:
编码规范遵守度:无编码规范问题;
代码设计:解决compile 使能方式,不涉及代码设计;
DT质量:解决compile 使能方式,基本逻辑DT测试覆盖充足;


7 天前 添加了label:lgtmapproved
7 天前 合入了pull request
描述
本 PR 将 NPU 的 torch.compile 从单独安装 inductor-npu-ext,迁移至 torch_npu 内置 AscendC Codegen。启用时通过环境变量选择 AscendC,仍以 Inductor 作为 Dynamo 后端,保留 PyTorch 原生编译流程。同时移除入口对外部扩展的强制依赖,更新安装文档、依赖版本和冒烟测试。
类型
Checklist:
如何测试
简要描述测试方案,并附上自验证记录。
其他信息
在这里可以添加任何与这个 Pull Request 相关的其他说明。