已合并
[test] ShapeEnv APIs NPU兼容性验证与资料更新 #36144
Yhw050920创建于 5月19日
[test] ShapeEnv APIs NPU兼容性验证与资料更新 #36144
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 Yhw050920 的贡献)5月19日 关联了issue:【开源实习】Torch-NPU API一致性对齐:补齐测试用例、API功能对齐、补齐文档(21)
ascend-robot
5月19日 评论:
5月19日 评论:
5月19日 添加了label:stat/needs-squash
ascend-robot
5月19日 评论:
5月19日 评论:
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
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| docs | ✅ 李伟, molly123321 (2/2) | ✅ 李伟 (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
hongwei-2026, thanks for your pull request. All authors of the commits have signed the CLA. 👍


此处折叠了252条消息 查看更多
molly123321
6月8日 评论:
6月8日 评论:
/lgtm


6月8日 添加了label:approvedlgtm
6月8日 合入了pull request
ascend-robot
6月8日 评论:
6月8日 评论:
流水线 pytorch_gitcode_PR_multiVersion#10211 [ commitID:149825a5 ] 已完成


【合入来源】
【修改方案】
本 PR 在 v2.7.1 分支的
docs/zh/native_apis/目录下,为 pytorch_2-7-1 / 2-9-0 / 2-10-0 / 2-11-0 / 2-12-0 五个版本的torch-fx.md补充 issue #1627 要求的torch.fx.experimental.symbolic_shapes.ShapeEnv及其各版本实际存在的方法在 Ascend NPU 上的支持度说明,与各版本测试 MR 的验证结论对齐。合入目标分支:
v2.7.1(MR 36144)1. 上游社区与现有资料情况
test/fx/test_symbolic_shapes.pyis_accessor_node、is_concrete_*、is_symbolic等;文档层未声明 ShapeEnv 守卫类 API 的 NPU 支持度torch-fx.md中单独声明test/fx/test_symbolic_shapes_api.pyDimConstraints、definitely_true等其它 symbolic_shapes APItest/dynamo/test_export.py等ShapeEnvpytorch_2-x-x/torch-fx.md(upstream 基线)compute_unbacked_bindings、constrain_range、ConvertIntKey、CallMethodKey、canonicalize_bool_expr、check_consistent等条目TestShapeEnvNPUNPU 单测结论:需在 5 个版本目录的
torch-fx.md中声明 ShapeEnv 守卫类 API 的 NPU 支持情况;按 PyTorch 版本能力决定是否写入add_backed_var_to_val;链接中 PyTorch 文档版本号与目录一致(2.7、2.9…2.12)。2. 目标 API 功能说明(全称)
torch-fx.mdtorch.fx.experimental.symbolic_shapes.ShapeEnvtorch.fx.experimental.symbolic_shapes.ShapeEnv.produce_guards_expressiontorch.fx.experimental.symbolic_shapes.ShapeEnv.produce_guards_verboseSource生成更详细的守卫信息torch.fx.experimental.symbolic_shapes.ShapeEnv.replacetorch.fx.experimental.symbolic_shapes.ShapeEnv.set_unbacked_var_to_valtorch.fx.experimental.symbolic_shapes.ShapeEnv.simplifytorch.fx.experimental.symbolic_shapes.ShapeEnv.add_backed_var_to_valpytorch_2-11-0、pytorch_2-12-0未写入低版本文档的 API:
ShapeEnv.add_backed_var_to_valpytorch_2-7-1/2-9-0/2-10-03. 资料修改思路
3.1 总体原则
pytorch_2-7-1~pytorch_2-12-0共 5 个torch-fx.md(回应「其他版本也需增加」)。torch.fx.experimental.symbolic_shapes.ShapeEnv.*完整限定名;链接指向对应 PyTorch 版本官方文档。TestShapeEnvNPU在 CI 上的 PASS/SKIP 结论一致。check_consistent)之后追加 ShapeEnv 行;不删改、不重排无关 API 行。native_apis树)。3.2 各版本文件与配套测试 MR
add_backed_var_to_valdocs/zh/native_apis/pytorch_2-7-1/torch-fx.mddocs/zh/native_apis/pytorch_2-9-0/torch-fx.mddocs/zh/native_apis/pytorch_2-10-0/torch-fx.mddocs/zh/native_apis/pytorch_2-11-0/torch-fx.mddocs/zh/native_apis/pytorch_2-12-0/torch-fx.md3.3 与 upstream 合并及冲突处理
rebase 到最新
v2.7.1时,各版本torch-fx.md末尾 upstream 已存在例如:compute_unbacked_bindings/constrain_range/constrain_unifyConvertIntKey/ConvertIntKey.getCallMethodKey/CallMethodKey.getcanonicalize_bool_expr/check_consistent本 PR 在
check_consistent行之后追加 ShapeEnv 条目(仅追加、不删改 upstream 已有行)。3.4 分 API 文档标注(2.7.1~2.10.0 六行通用)
ShapeEnvproduce_guards_expressionproduce_guards_verboseSource()无法满足name)replaceset_unbacked_var_to_valnon-nested SymInt等上游限制,API 仍存在)simplify2.11.0 / 2.12.0 在上述 6 行基础上,在
replace与set_unbacked_var_to_val之间(字母序)额外增加一行:add_backed_var_to_val3.5 是否覆盖主要使用场景
produce_guards_expression/produce_guards_verbosereplace/simplifyset_unbacked_var_to_valadd_backed_var_to_val3.6 与测试 MR 的配套关系
test/fx/test_symbolic_shapes.py→TestShapeEnvNPU(5 API)add_backed)torch-fx.mdShapeEnv 表项测试与文档 API 列表、支持度标注 一一对应;低版本均不含
add_backed_var_to_val。4. 变更范围
docs/zh/native_apis/pytorch_2-7-1/torch-fx.mddocs/zh/native_apis/pytorch_2-9-0/torch-fx.mddocs/zh/native_apis/pytorch_2-10-0/torch-fx.mddocs/zh/native_apis/pytorch_2-11-0/torch-fx.mddocs/zh/native_apis/pytorch_2-12-0/torch-fx.mdcheck_consistent后 +6 或 +7 行 ShapeEnv 条目149825a5f(append-only,无删除行)【资料变更】
涉及。 在 5 份
torch-fx.md中补充 ShapeEnv 类及 5~6 个实例方法的支持度与限制说明,作为 issue #1627 在 Ascend 原生 API 文档侧的交付物。【接口变更】
不涉及。未修改用户可见接口或跨仓接口行为。
【功能验证】
验证方式
torch-fx.md均在check_consistent之后含 ShapeEnv 块;行数 6/6/6/7/7 正确。mergeable/ 无冲突。文档与测试对照表
v2.7.1(
pytorch_2-7-1+ MR 36139)ShapeEnv.produce_guards_expressionShapeEnv.produce_guards_verboseShapeEnv.replaceShapeEnv.set_unbacked_var_to_valShapeEnv.simplifyShapeEnv.add_backed_var_to_valv2.9.0 / v2.10.0(
pytorch_2-9-0/2-10-0+ MR 36201 / 36202)与 v2.7.1 相同 6 行、相同支持度标注;不含
add_backed_var_to_val。测试预期均为 3 PASS + 2 SKIP。v2.11.0 / v2.12.0(
pytorch_2-11-0/2-12-0+ MR 36203 / 36204)在 v2.7.1 六行基础上 +1 行
add_backed_var_to_val(是)。测试预期 3~4 PASS + 2~3 SKIP(视 wheel 是否导出add_backed)。自验证
torch-fx.md;ShapeEnv 条目链接版本与目录一致。【CheckList】