已合并
[Inductor] improve aot_load patch #45240
zhucehw创建于 14 天前
[Inductor] improve aot_load patch #45240
已合并
zhucehw创建于 14 天前
zhucehw成员
14 天前

【合入来源】

https://gitcode.com/Ascend/pytorch/issues/4097?ref=&did=4257078#tid-4257078

【修改方案】

  1. improve aot_load patch
  2. add doc for aot_compile and aot_load

【资料变更】

不涉及

【接口变更】

不涉及

【功能验证】

CI PASS

【CheckList】

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 zhucehw 的贡献)
Zzhucehw成员
14 天前 创建了 pull request,commit e66324a5
Zzhucehw成员
14 天前 关联了issue:[Inductor]重构cpp_builder
atomgit-bot
atomgit-bot
14 天前 评论:

变更摘要

本 PR 主要对 torch_npu 的 Inductor 相关代码进行重构优化:改进了 aot_compile/aot_load 在 NPU 设备上的加载与绑定逻辑,调整了 aot_load_npu 的设备判断流程,并将 AOTI runner 的 Python 绑定初始化接口从接收 PyObject* module 参数改为无参、内部自行导入 torch._C 模块。PR 描述还提到为 aot_compileaot_load 补充文档(相关文档文件无内嵌补丁)。

主要改动

  • aot_load_npu 加载逻辑重构torch_npu/_inductor/export.py):由原来的先调用原生 origin_aot_load、捕获 RuntimeError 后再回退的 try/except 方式,改为根据 device 参数预先判断——当设备为 "npu" 或以 "npu:" 开头时直接使用 torch._C._aoti.AOTIModelContainerRunnerNpu(so_path, 1, device) 创建 runner,否则回退到 origin_aot_load,并顺带删除了函数 docstring。
  • initAOTIRunnerBindingsNpu 接口变更pybind.cpp / pybind.h):函数签名去掉 PyObject* module 参数,改为无参并在函数体内通过 py::module::import("torch._C") 导入模块;同时将挂载方式由 def_submodule("_aoti") 改为取用已存在的 rootModule.attr("_aoti") 子模块。
  • 调用点同步更新torch_npu/csrc/npu/Module.cpp):RegisterNPUDeviceProperties 中对 torch::inductor::initAOTIRunnerBindingsNpu 的调用改为无参形式,以匹配新的函数签名;相关头文件补上了文件末尾缺失的换行符。
likedislike
不准确?
atomgit-bot
atomgit-bot
14 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
ascend-robotascend-robot成员
14 天前 添加了label:ascend-cla/yes
ascend-robot
ascend-robot成员
14 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
**/*.md li_jing_hw, liangsongwei (2/2) li_jing_hw (1/1)
repo-Ascend/pytorch liangsongwei, zichun_ye, li_jing_hw (3/2) zichun_ye, li_jing_hw (2/1)
torch_npu/_inductor weizhan4, zichun_ye, li_jing_hw, HinPeng, liangsongwei (5/2) HinPeng, weizhan4, zichun_ye, li_jing_hw (4/1)
torch_npu/csrc/inductor HinPeng, liangsongwei, weizhan4, zichun_ye, li_jing_hw (5/2) weizhan4, zichun_ye, li_jing_hw, HinPeng (4/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

zhucehw, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
ascend-robot
ascend-robot成员
14 天前 评论:

当前仓库存在以下 保护分支

Protected Branch Version Release
master
v2.11.0
v2.7.1
v2.9.0
v2.12.0
v2.10.0
v2.12.0-26.1.0
v2.11.0-26.1.0
v2.10.0-26.1.0
v2.9.0-26.1.0
v2.7.1-26.1.0
ci-test

评论 /sync <branch1> <branch2> ... 可将当前 PR 修改同步到其它分支(创建同步 PR):
a) 如果当前 PR 是 Open 状态,同步操作将延迟到 PR 被合并时执行
b) 如果当前 PR 已经 Merged,将立即执行同步操作

注意:

  1. /sync 命令可以指定同步到多个分支,仅最后一个 /sync 命令生效
  2. 如果创建的同步 PR 不正确,可通过向同步 PR 的源分支提交轻量级 PR 完善,或使用 /close 命令关闭
likedislike
ascend-robotascend-robot成员
14 天前 添加了label:ci-pipeline-running
ascend-robot
ascend-robot成员
14 天前 评论:

ascend docs pipeline is running...

likedislike
ascend-robotascend-robot成员
14 天前 添加了label:docs-ci-pipeline-running
ascend-robot
ascend-robot成员
14 天前 评论:

✅ 文档门禁通过!

检查项 检查结果 详情
markdownlint ✅ 已通过 查看详情
link-validity-check ✅ 已通过 查看详情
resource-existence-check ✅ 已通过 查看详情
tag-closed-check ✅ 已通过 查看详情
likedislike
ascend-robotascend-robot成员
14 天前 删除了label:docs-ci-pipeline-running
ascend-robotascend-robot成员
14 天前 添加了label:docs-ci-pipeline-success
ascend-robotascend-robot成员
14 天前 删除了label:ci-pipeline-running
ascend-robotascend-robot成员
14 天前 添加了label:ci-pipeline-passed
ascend-robot
ascend-robot成员
14 天前 评论:
流水线 PR-pipeline_pytorch#63540 [ commitID:4ad9e24b ] 已完成
>>>代码风格自动修复执行成功(无修复内容)
阶段 任务名 状态 详情
编译构建 Build_X86 >>>
Build_ARM >>>
Build_X86_torchair 🛑 >>>
Build_ARM_torchair 🛑 >>>
patch_test 🛑 >>>
Build_X86_213 >>>
Build_ARM_213 >>>
恶意代码检查 Antipoison >>>
编码安全与规范检查 codecheck_pre-commit >>>
check_error >>>
lintrunner >>>
开源片段检查 SCA >>>
开发者测试 UT_ARM_A3_Part_01 🛑 >>>
UT_ARM_A3_Part_02 🛑 >>>
UT_ARM_A2_Part_01 >>>
UT_ARM_A2_Part_02 >>>
UT_ARM_A2_Part_03 >>>
UT_inductor_Part_01 🛑 >>>
UT_inductor_Part_02 🛑 >>>
UT_inductor_Part_03 🛑 >>>
UT_inductor_Part_04 🛑 >>>
UT_DIST_ARM_Part_01 🛑 >>>
UT_DIST_ARM_Part_02 🛑 >>>
UT_DIST_ARM_Part_03 🛑 >>>
UT_DIST_ARM_Part_04 🛑 >>>
UT_ARM_A2_Select_Part_01 >>>
UT_ARM_A2_Select_Part_02 >>>
UT_ARM_A2_Part_01_213 >>>
UT_ARM_A2_Part_02_213 >>>
UT_ARM_A2_Part_03_213 >>>
UT_inductor_Part_01_213 🛑 >>>
UT_inductor_Part_02_213 🛑 >>>
UT_inductor_Part_03_213 🛑 >>>
UT_inductor_Part_04_213 🛑 >>>
UT_DIST_ARM_Part_01_213 🛑 >>>
UT_DIST_ARM_Part_02_213 🛑 >>>
UT_DIST_ARM_Part_03_213 🛑 >>>
UT_DIST_ARM_Part_04_213 🛑 >>>
UT_ARM_A2_Select_Part_01_213 >>>
UT_ARM_A2_Select_Part_02_213 >>>
流水线 PR-pipeline_pytorch >>>
此流水线已支持下列评论快捷指令,仅PR创建者和白名单成员[wujinyuan1, huangjingwei, liangsongwei, yashi999, culechan, Dring, wuyouqi1, L1919_snow, qq_52711437, WhiteNight12, nomiz, xiu_21, ffmh, wanglijun55, hss-shuai, husichao, smallsilly, lanshaozuishuai, jimmyisme1, lzy0920232, alpha-junh, Sunshine_Youngster, wei_zhuoyi, zhangyihuiben, zyw-hw, zzzkeke, rmch, yangch0324, LucciC, AACAES, renyujin, wjlflyer, senzhen-town, pengjingyou, qsc97, limuan, yule100, xiaoqi-zhou, kuhn7, chenxingying, hanye02, zichun_ye, anyrenwei, kkjocker, wangzili121, Lu_G, yvjc, puddingfjz, HandsoemLemon, bigprestigee1, huawuyi, zhenyu10, dairenjie, du-jin-hang, zou-jieyu, adelaideliu, TrHan, wanlinan, Windwindzzz, pengqihw, kisnwang, yuheng_wang, honghao_wang, jizewei, zhangguoguang, sunyu-xuan, chenrayray, hbhu_bin, liujunzhu, c_34, LiNuoh, maoyuanpeng1, zzhongmin, zhaoyu65, bellatan, jiabaolin, zhuofanshen, wencaiwen, lu_zhuge, caoshuyang, molly12, lyx324521, LQ1206, gitcode-chenjiao, cai-weiwei1989, CHDong, ogqin, yuanlipingGit, xuqinglin1, lqz2, zouwei1, chaoluoa, paradox325, jackzhang1116, yaoyao, akh, yujiacheng, dengjie0116, Hubert11111, Shine_Ws, wslhj555, longqiand, OYtao666, JiaqingQiang, luyyyy, Kingbelial, zhanghaiyu0101, wenxp1018, yanliu-luoluo, ksun_sekiro, liyong328, wgzheng, tangky, vivi_is_coding, aoiaoisola, weixin_44494597, wangmengmengwang65667, hid57809721, qq_35468730, comeonup, C547032, gcw_m5OQChA4, yao_yao_ling_xian, cnnbwcy, szqfes_12, cora_19, cann_lilin, can, shawnylee233, fanglanyue0916, hhz0, LiNuohang, taohuoquan, Jesse, WSs_321]评论有效
  • compile、compile_inductor、compile_torchair : 运行流水线
  • retry : 重试流水线所有失败子任务
  • retry <任务名> : 仅重试指定失败子任务
  • stop : 停止流水线
likedislike
Xuan Peng
13 天前 评论:

/lgtm
/approve

likedislike
weizhan4成员
13 天前 评论:

/lgtm
/approve

likedislike
Zzhucehw成员
13 天前 修改了pull request 的描述
Zzhucehw成员
13 天前 修改标题为 “[Inductor] improve aot_load patch”,原标题为“[Inductor] improve cpp_builder、aot_compile patch”
zichun_ye
zichun_ye成员
13 天前 评论:

/approve

likedislike
li_jing_hw成员
13 天前 评论:

/approve

likedislike
ascend-robotascend-robot成员
13 天前 添加了label:approved
梁松伟梁松伟成员
12 天前 关联了里程碑:v26.2.0
梁松伟
梁松伟成员
12 天前 评论:

/lgtm

likedislike
ascend-robotascend-robot成员
12 天前 添加了label:lgtm
ascend-robotascend-robot成员
12 天前 合入了pull request
ascend-robot
ascend-robot成员
12 天前 评论:
流水线 pytorch_gitcode_PR_multiVersion#14512 [ commitID:4ad9e24b ] 已完成
likedislike