Ascend Extension for PyTorch
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(ci): add Docker image build system for builder and test environments Co-authored-by: w30057661<wangshusheng7@h-partners.com> # message auto-generated for no-merge-commit merge: !37457 merge sync-pr37107-to-v2.9.0 into v2.9.0 feat(ci): add Docker image build system for builder and test environments Created-by: WSs_321 Commit-by: w30057661 Merged-by: ascend-robot Description: ## 变更说明 为 pytorch 仓库新增 CI Docker 镜像构建体系,覆盖编译 (builder) 和测试 (test) 两种场景,支持 x86_64 和 aarch64 双架构,并通过 GitHub Actions 自动构建推送至 quay.io。 ## 变更内容 .ci/docker/ — 完整的 Docker 构建方案 docker_build.sh — tag-based 构建入口脚本 builder/ — Builder 镜像 Dockerfile(x86_64/aarch64),含完整编译工具链 test/ — Test 镜像 Dockerfile(x86_64/aarch64),含 CANN runtime + triton-ascend common/ — 共享安装脚本(CANN/OBS/triton-ascend) requirements-builder.txt — Builder 编译依赖 requirements-test.txt — 测试依赖声明 ## 关联 Issue - Resolves #2164 See merge request: Ascend/pytorch!37457 | 1 个月前 | |
[feat]devcontainer Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !40298 merge v2.9.0 into v2.9.0 [feat]devcontainer Created-by: SCh_zx Commit-by: SCh-zx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 新增devcontainer功能,以支持在ide环境下直接构建开发镜像。 合并x86与arm不同架构的dockerfile,简化构建流程。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40298 | 1 个月前 | |
[docs] add pull request template Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !30430 merge v2.9.0 into v2.9.0 [docs] add pull request template Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30430 | 6 个月前 | |
[v2.9.0] Add CI Docker images build workflow Co-authored-by: wangqi<2801406898@qq.com> # message auto-generated for no-merge-commit merge: !43056 merge v2.9.0 into v2.9.0 [v2.9.0] Add CI Docker images build workflow Created-by: wangqi0808 Commit-by: wangqi Merged-by: ascend-robot Description: ## Summary 为 v2.9.0 分支添加 .github/workflows/build-docker-images.yml,实现 CI Docker 镜像的自动构建与推送到 SWR 镜像仓库。 Related: #3073 ## Changes - 新增 .github/workflows/build-docker-images.yml - 支持 workflow_dispatch 手动触发和 push 自动触发(.ci/docker/** 变更时) - 覆盖 8 个镜像:builder (x86_64/aarch64) + test × CANN A1/A2/A3 (x86_64/aarch64) - 推送至 swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch,Tag 含 UTC 时间戳 - Runner 自适应:x86_64 → ubuntu-latest,aarch64 → ubuntu-22.04-arm See merge request: Ascend/pytorch!43056 | 1 个月前 | |
update qwen3 docs Co-authored-by: HandsoemLemon<zhangafei@huawei.com> # message auto-generated for no-merge-commit merge: !44985 merge v2.9.0 into v2.9.0 update qwen3 docs Created-by: HandsoemLemon Commit-by: HandsoemLemon Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/4122 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复benchmark-llm中qwen3拉起文档中缺少空格问题 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44985 | 9 天前 | |
[docs]v2.9.0文档产品名称更新 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39994 merge v2.9.0 into v2.9.0 [docs]v2.9.0文档产品名称更新 Created-by: zxchen152 Commit-by: chenrayray;zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 更新代码仓文档中产品名称,使用 (?<![A-Za-z/])PTA(?![A-Za-z_])|(Ascend extension for pytorch)|((?<!import )(?<![A-Za-z_/.])(?<!(ninja ))torch_npu(?![A-Za-z_/.:])(?![-\\])(?!(进程|初始化)))|((?<!import )(?<![A-Za-z_/.])torch-npu(?![A-Za-z_/.:])(?![-\\]))匹配除doc目录外所有.md文档下的名称,并按需替换为TorchNPU # 【资料变更】 更新代码仓文档中产品名称,同时对文档的格式问题进行修复,不变更文档原有的代码。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39994 | 1 个月前 | |
[Feature]support abi configuration for libtorch_npu. | 2 年前 | |
[docs]v2.9.0文档产品名称更新 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39994 merge v2.9.0 into v2.9.0 [docs]v2.9.0文档产品名称更新 Created-by: zxchen152 Commit-by: chenrayray;zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 更新代码仓文档中产品名称,使用 (?<![A-Za-z/])PTA(?![A-Za-z_])|(Ascend extension for pytorch)|((?<!import )(?<![A-Za-z_/.])(?<!(ninja ))torch_npu(?![A-Za-z_/.:])(?![-\\])(?!(进程|初始化)))|((?<!import )(?<![A-Za-z_/.])torch-npu(?![A-Za-z_/.:])(?![-\\]))匹配除doc目录外所有.md文档下的名称,并按需替换为TorchNPU # 【资料变更】 更新代码仓文档中产品名称,同时对文档的格式问题进行修复,不变更文档原有的代码。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39994 | 1 个月前 | |
[bugfix]cp冗余资料回退 Co-authored-by: TrHan<hantianrui1@huawei.com> # message auto-generated for no-merge-commit merge: !36644 merge pr_cp_2.9.0_0525 into v2.9.0 [bugfix]cp冗余资料回退 Created-by: TrHan Commit-by: TrHan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2035](https://gitcode.com/Ascend/pytorch/issues/2035) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 删除冗余资料修改 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,删除冗余资料修改 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及,仅修改资料 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36644 | 3 个月前 | |
[docs]v2.9.0文档产品名称更新 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39994 merge v2.9.0 into v2.9.0 [docs]v2.9.0文档产品名称更新 Created-by: zxchen152 Commit-by: chenrayray;zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 更新代码仓文档中产品名称,使用 (?<![A-Za-z/])PTA(?![A-Za-z_])|(Ascend extension for pytorch)|((?<!import )(?<![A-Za-z_/.])(?<!(ninja ))torch_npu(?![A-Za-z_/.:])(?![-\\])(?!(进程|初始化)))|((?<!import )(?<![A-Za-z_/.])torch-npu(?![A-Za-z_/.:])(?![-\\]))匹配除doc目录外所有.md文档下的名称,并按需替换为TorchNPU # 【资料变更】 更新代码仓文档中产品名称,同时对文档的格式问题进行修复,不变更文档原有的代码。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39994 | 1 个月前 | |
| 1 年前 | ||
feat: support overflow switch on non-saturation mode via FORCE_OVERFLOW_CHECK Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !45374 merge force-overflow-check-v2.9.0 into v2.9.0 feat: support overflow switch on non-saturation mode via FORCE_OVERFLOW_CHECK Created-by: wuyouqi1 Commit-by: wuyouqi1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. AclInterface.cpp: AclrtCreateStreamWithConfig 内联 FORCE_OVERFLOW_CHECK 判断(env=1 且 CANN>=9.1.0 时非饱和 INF_NAN 模式也开启 aclrtSetStreamOverflowSwitch 溢出检测开关,版本不满足时 LOGW 一次并回退原逻辑),为 Inf/NaN 问题提供不影响执行时序的异步定位能力。 2. torch_npu/npu/utils.py: 新增 is_force_overflow_check() 查询接口(仅 npu.utils 命名空间);get_npu_overflow_flag / npu_check_overflow / clear_npu_overflow_flag 三个接口在 force 开启时改走溢出状态标志检测路径。 3. test: test_check_over_flow.py 扩展寄存器级、utils 层及子进程负向环境变量用例;torch_npu_schema.json 登记新 API。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 环境:Ascend910B2 + CANN 9.2.0(非饱和 INF_NAN 模式)。 1. 手工能力验证:FORCE_OVERFLOW_CHECK=1 下 fp16 溢出(65504+65504)经溢出状态标志检出(get_npu_overflow_flag=True);npu_check_overflow 检出后自动清除标志(残留=False);正常运算不误报(False)。 2. UT:test/npu/test_check_over_flow.py 6 用例全绿(含 force 生效检出、默认行为回归、版本不匹配告警、非法取值容错)。 3. 性能对比:mm(4096x4096) fp16 开关开启 0.463ms/iter vs 关闭 0.455ms/iter,开销约 +1.8%。 4. 该改动已先合入 v2.7.1 分支(MR !44962,合入 commit b7bb55832),本 MR 为向其他分支的同步。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45374 | 1 天前 | |
test: add NPU coverage for symbolic_shapes APIs (issue #1614) Co-authored-by: zhangjiahao-2026<2332445379@qq.com> # message auto-generated for no-merge-commit merge: !36328 merge intern-1614-symbolic-shapes into v2.9.0 test: add NPU coverage for symbolic_shapes APIs (issue #1614) Created-by: zhangjiahao-2026 Commit-by: zhangjiahao-2026 Merged-by: ascend-robot Description: # 【合入来源】 > **关联社区 issue:** https://gitcode.com/Ascend/pytorch/issues/1614 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本次为 Torch-NPU API 一致性对齐任务,针对 torch.fx.experimental.symbolic_shapes 下 5 个 API 补充/适配测试,**不涉及算子或 API 实现代码修改**(NPU 上与 PyTorch 2.9 行为一致)。 ## API 功能说明 torch.fx.experimental.symbolic_shapes 是 PyTorch FX 动态 shape 推导体系中的符号形状模块,负责在编译/导出过程中管理 SymInt/SymBool 约束、guard 生成及 shape 相等关系。本次验证的 5 个 API 均为纯 Python 层面的符号 shape 工具,与底层计算硬件无关。 - torch.fx.experimental.symbolic_shapes.DivideByKey:整除键类,用于在符号 shape 表达中表示对某个常量做 floor division(整除)的运算模式,可通过构造参数指定除数。 - torch.fx.experimental.symbolic_shapes.DivideByKey.get:DivideByKey 实例方法,对给定数值执行 floor division,即 value // divisor,返回整除结果。 - torch.fx.experimental.symbolic_shapes.EqualityConstraint:符号 shape 约束类,用于在 FX 图导出/动态 shape 推导中表达多个 shape 源之间的相等关系,包含 source_pairs、derived_equalities、phantom_symbols、relaxed_sources、warn_only 等字段。 - torch.fx.experimental.symbolic_shapes.has_free_symbols:判断给定对象(通常为 sympy 表达式)是否包含未被绑定的自由符号,用于区分常量表达式与含符号变量的动态 shape 表达式。 - torch.fx.experimental.symbolic_shapes.guard_size_oblivious:符号 shape guard 生成过程中的辅助函数,对布尔条件做 size-oblivious 处理,使其与具体 tensor size 解耦。 ## API 全名与测试覆盖场景 | 全名 API | 测试用例 | 覆盖场景 | |----------|----------|----------| | torch.fx.experimental.symbolic_shapes.DivideByKey | 自写 TestDivideByKeyAndEqualityConstraint::test_divide_by_key + 官方 test/export/test_export.py(patch) | 自写:构造 DivideByKey(4),验证 str(key) 为 ".__floordiv__(4)";官方:patch 注入 torch_npu 后复用 export 场景用例 | | torch.fx.experimental.symbolic_shapes.DivideByKey.get | 自写 TestDivideByKeyAndEqualityConstraint::test_divide_by_key_get | 构造 DivideByKey(4),调用 .get(17),验证返回 4 | | torch.fx.experimental.symbolic_shapes.EqualityConstraint | 自写 TestDivideByKeyAndEqualityConstraint::test_equality_constraint_init | 以空约束参数初始化(source_pairs=[],derived_equalities=[],phantom_symbols=[],relaxed_sources=set(),warn_only=False),验证 source_pairs、phantom_symbols 为空且 warn_only=False | | torch.fx.experimental.symbolic_shapes.has_free_symbols | 官方 test/test_dynamic_shapes.py::TestUnbacked::test_has_free_symbols(patch) | patch 注入 import torch_npu 后复用官方用例 | | torch.fx.experimental.symbolic_shapes.guard_size_oblivious | 官方 test/dynamo/test_misc.py(patch) | patch 注入 import torch_npu 后复用官方用例 | ## 具体改动 1. 在 test/fx/test_symbolic_shapes.py 新增 TestDivideByKeyAndEqualityConstraint 类,补充 3 个自写用例 - 使用 unittest + torch.testing._internal.common_utils.run_tests - 覆盖 API:DivideByKey、DivideByKey.get、EqualityConstraint - 用例均带 @unittest.skipUnless(torch.npu.is_available()) 2. 新增 test_upstream/test/test_dynamic_shapes.py.patch - 在 import torch 后增加 import torch_npu - 适配官方 has_free_symbols 用例 3. 新增 test_upstream/test/dynamo/test_misc.py.patch - 在 import torch 后增加 import torch_npu - 适配官方 guard_size_oblivious 用例 4. 新增 test_upstream/test/export/test_export.py.patch - 在 import torch 后增加 import torch_npu - 适配官方 DivideByKey export 场景用例 5. 上述 3 个 patch 已对 **v2.9.0** 上游文件执行 git apply --check,验证可应用。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 **环境:** torch 2.9.0 + torch_npu 2.9.0,torch.npu.is_available()==True **(1)自写用例** bash cd /tmp && python3 /data/pytorch/test/fx/test_symbolic_shapes.py \ TestDivideByKeyAndEqualityConstraint.test_divide_by_key \ TestDivideByKeyAndEqualityConstraint.test_divide_by_key_get \ TestDivideByKeyAndEqualityConstraint.test_equality_constraint_init \ 2>&1 | grep -vE "recording\.py|set_unbacked_var_to_val|E0626" | tail -10 结果:  **(2)5 API 快速验证** bash cd /workspace python -c "import torch; import torch_npu; from torch.fx.experimental.symbolic_shapes import DivideByKey, EqualityConstraint, guard_size_oblivious, has_free_symbols; print('DivideByKey.get(17)=', DivideByKey(4).get(17)); print('guard_size_oblivious(True)=', guard_size_oblivious(True)); print('has_free_symbols(3)=', has_free_symbols(3)); print('EqualityConstraint OK'); print('npu:', torch.npu.is_available())" 结果:  **(3)官方 torch.fx.experimental.symbolic_shapes.has_free_symbols** bash cd /workspace python -m pytest pytorch-upstream/test/test_dynamic_shapes.py -k test_has_free_symbols -xvs 结果:  **(4)patch 可应用性** bash cd /workspace/pytorch-upstream && git checkout -- test git apply --check /workspace/pytorch/test_upstream/test/test_dynamic_shapes.py.patch && echo OK git apply --check /workspace/pytorch/test_upstream/test/dynamo/test_misc.py.patch && echo OK git apply --check /workspace/pytorch/test_upstream/test/export/test_export.py.patch && echo OK 结果:  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验(不涉及) - [x] PR标题正确使用类型标签(test: 前缀) - [x] PR持续集成流水线(CI)执行通过 --- See merge request: Ascend/pytorch!36328 | 1 个月前 | |
Update op_plugin commit id Co-authored-by: pta-robot<pta_robot@163.com> # message auto-generated for no-merge-commit merge: !45478 merge v2.9.0 into v2.9.0 Update op_plugin commit id Created-by: pta-robot Commit-by: pta-robot Merged-by: ascend-robot Description: Commited by @pta-robot at 2026-08-28 18:02:54. See merge request: Ascend/pytorch!45478 | 2 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36364 merge v2.9.0_lintrunner into v2.9.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36364 | 3 个月前 | |
feat: support overflow switch on non-saturation mode via FORCE_OVERFLOW_CHECK Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !45374 merge force-overflow-check-v2.9.0 into v2.9.0 feat: support overflow switch on non-saturation mode via FORCE_OVERFLOW_CHECK Created-by: wuyouqi1 Commit-by: wuyouqi1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. AclInterface.cpp: AclrtCreateStreamWithConfig 内联 FORCE_OVERFLOW_CHECK 判断(env=1 且 CANN>=9.1.0 时非饱和 INF_NAN 模式也开启 aclrtSetStreamOverflowSwitch 溢出检测开关,版本不满足时 LOGW 一次并回退原逻辑),为 Inf/NaN 问题提供不影响执行时序的异步定位能力。 2. torch_npu/npu/utils.py: 新增 is_force_overflow_check() 查询接口(仅 npu.utils 命名空间);get_npu_overflow_flag / npu_check_overflow / clear_npu_overflow_flag 三个接口在 force 开启时改走溢出状态标志检测路径。 3. test: test_check_over_flow.py 扩展寄存器级、utils 层及子进程负向环境变量用例;torch_npu_schema.json 登记新 API。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 环境:Ascend910B2 + CANN 9.2.0(非饱和 INF_NAN 模式)。 1. 手工能力验证:FORCE_OVERFLOW_CHECK=1 下 fp16 溢出(65504+65504)经溢出状态标志检出(get_npu_overflow_flag=True);npu_check_overflow 检出后自动清除标志(残留=False);正常运算不误报(False)。 2. UT:test/npu/test_check_over_flow.py 6 用例全绿(含 force 生效检出、默认行为回归、版本不匹配告警、非法取值容错)。 3. 性能对比:mm(4096x4096) fp16 开关开启 0.463ms/iter vs 关闭 0.455ms/iter,开销约 +1.8%。 4. 该改动已先合入 v2.7.1 分支(MR !44962,合入 commit b7bb55832),本 MR 为向其他分支的同步。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45374 | 1 天前 | |
[feat] add new aten Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !44877 merge fix819_290 into v2.9.0 [feat] add new aten Created-by: culechan Commit-by: chenshuai Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 新增两个aten,刚好在inductor_fallback_ops里,这样会导致c_shim.c变化引起版本兼容问题。因此这里需要先加到unsupported列表里面 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及功能变更 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44877 | 10 天前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
[sync] PR-35289: [feat] 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存 Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !35438 merge sync-pr35289-codegen-m-to-v2.9.0 into v2.9.0 [sync] PR-35289: [feat] 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存 Created-by: ascend-ds-bot Commit-by: LiNuohang Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/35289 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/1761 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[5bab1071](https://gitcode.com/Ascend/pytorch/commit/5bab107180dee4e57b33b72603344c366ef2451c)|2026-05-12 02:11:26 +0800 CST|[fix] lint<br>| |[27b54585](https://gitcode.com/Ascend/pytorch/commit/27b54585a29960dd0f000b48cedd50b74c42f211)|2026-05-12 01:17:05 +0800 CST|[feat] 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存<br>| See merge request: Ascend/pytorch!35438 | 3 个月前 | |
update_gitmodules Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !39276 merge v2.9.0 into v2.9.0 update_gitmodules Created-by: SCh_zx Commit-by: SCh-zx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39276 | 2 个月前 | |
[v2.9.0][Fix] Fix static check errors detected by TABS Co-authored-by: thickhair<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !37946 merge tabs_fix_v2.9 into v2.9.0 [v2.9.0][Fix] Fix static check errors detected by TABS Created-by: thickhair Commit-by: thickhair Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/pytorch/issues/1865 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37946 | 2 个月前 | |
[Inductor] AOTI refactor for v2.9.0 Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !39450 merge v2.9.0-dev into v2.9.0 [Inductor] AOTI refactor for v2.9.0 Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. AOTI refactor, decrease code for AOTI 2. patch precompile function for codecache.py 3. add test for AOTI and cpp_wrapper 4. AOTI support c shim # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x]代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39450 | 1 个月前 | |
docs: update CONTRIBUTING.md with formatting fixes, AI dev guide, and docs guide Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !36346 merge v2.9.0-contrib into v2.9.0 docs: update CONTRIBUTING.md with formatting fixes, AI dev guide, and docs guide Created-by: chenrayray Commit-by: Xinrui Chen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2034](https://gitcode.com/Ascend/pytorch/issues/2034) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 在贡献指南中增加AI辅助研发和文档开发的说明 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,修改内容如上 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36346 | 3 个月前 | |
| 2 年前 | ||
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!24843 | 11 个月前 | |
[docs]v2.9.0文档产品名称更新 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39994 merge v2.9.0 into v2.9.0 [docs]v2.9.0文档产品名称更新 Created-by: zxchen152 Commit-by: chenrayray;zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 更新代码仓文档中产品名称,使用 (?<![A-Za-z/])PTA(?![A-Za-z_])|(Ascend extension for pytorch)|((?<!import )(?<![A-Za-z_/.])(?<!(ninja ))torch_npu(?![A-Za-z_/.:])(?![-\\])(?!(进程|初始化)))|((?<!import )(?<![A-Za-z_/.])torch-npu(?![A-Za-z_/.:])(?![-\\]))匹配除doc目录外所有.md文档下的名称,并按需替换为TorchNPU # 【资料变更】 更新代码仓文档中产品名称,同时对文档的格式问题进行修复,不变更文档原有的代码。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39994 | 1 个月前 | |
modify document Co-authored-by: m0_68000167<wangzhiyuan86@h-partners.com> # message auto-generated for no-merge-commit merge: !43842 merge v2.9.0 into v2.9.0 modify document Created-by: m0_68000167 Commit-by: m0_68000167 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单https://gitcode.com/Ascend/op-plugin/issues/320 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 AIDD问题扫描修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43842 | 24 天前 | |
[docs]v2.9.0文档产品名称更新 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39994 merge v2.9.0 into v2.9.0 [docs]v2.9.0文档产品名称更新 Created-by: zxchen152 Commit-by: chenrayray;zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2602](https://gitcode.com/Ascend/pytorch/issues/2602) - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 更新代码仓文档中产品名称,使用 (?<![A-Za-z/])PTA(?![A-Za-z_])|(Ascend extension for pytorch)|((?<!import )(?<![A-Za-z_/.])(?<!(ninja ))torch_npu(?![A-Za-z_/.:])(?![-\\])(?!(进程|初始化)))|((?<!import )(?<![A-Za-z_/.])torch-npu(?![A-Za-z_/.:])(?![-\\]))匹配除doc目录外所有.md文档下的名称,并按需替换为TorchNPU # 【资料变更】 更新代码仓文档中产品名称,同时对文档的格式问题进行修复,不变更文档原有的代码。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39994 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35872 merge v2.9.0_lintrunner into v2.9.0 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 执行: lintrunner --all-files --take NEWLINE -a 修复换行符,不影响代码逻辑。 2. 屏蔽两个分布式用例,已提issue,给对应接口人跟踪。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35872 | 3 个月前 | |
add eager dvm testcase and remove _TORCH_NPU_ENABLE_DVM Co-authored-by: hb_hubin<hubin79@huawei.com> # message auto-generated for no-merge-commit merge: !40315 merge eager-dvm-v2.9.0 into v2.9.0 add eager dvm testcase and remove _TORCH_NPU_ENABLE_DVM Created-by: hbhu_bin Commit-by: hb_hubin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 https://gitcode.com/Ascend/pytorch/issues/2264 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 增加DVM测试用例+删除选择编译代码 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40315 | 1 个月前 | |
| 1 年前 | ||
[v2.9.0][refactor]CANN ACL headers decouple Co-authored-by: Dring<17737727613@163.com> # message auto-generated for no-merge-commit merge: !36005 merge v2.9.0 into v2.9.0 [v2.9.0][refactor]CANN ACL headers decouple Created-by: Dring Commit-by: Dring Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/2042 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [✓ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [✓ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) cann已开源,PTA在编译过程中动态获取CANN头文件,避免本地保存的头文件与CANN开源版本存在差异导致上层应用编译异常。  核心逻辑: 2.10以下分支保留开源头文件中没有的头文件,2.10以上分支原头文件全部删除,拉取的开源头文件进行复制覆盖 2.10以上分支检查 third_party/acl/inc/acl/ 是否已有内容,有则跳过(幂等) 按优先级复制头文件到 third_party/acl/inc/acl/(先 runtime,后 ge 覆盖,再super_kernel.h) 删除临时目录 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 编包成功,没有本地文件找不到的头文件符号  安装成功 初始化无报错:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [✓ ] 代码注释完备,正确记录错误日志 - [✕ ] 代码实现进行了返回值、空指针等校验 - [✓ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [✓ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36005 | 3 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
Static checking tools and rules are adopted directly from pytorch. Co-authored-by: JingweiHuang<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !33435 merge v2.9.0-code-check into v2.9.0 Static checking tools and rules are adopted directly from pytorch. Created-by: huangjingwei Commit-by: JingweiHuang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33435 | 4 个月前 | |
[sync] PR-35086: Disable CLANGTIDY and Modify pyproject.toml Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35116 merge sync-pr35086-master_code_check-to-v2.9.0 into v2.9.0 [sync] PR-35086: Disable CLANGTIDY and Modify pyproject.toml Created-by: ascend-ds-bot Commit-by: huangjingwei Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/35086 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/1832 https://gitcode.com/Ascend/pytorch/issues/1862 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[191e18b2](https://gitcode.com/Ascend/pytorch/commit/191e18b247ce8f5fba26af548e9bf8615d1807ef)|2026-05-09 10:26:43 +0800 CST|Disable CLANGTIDY and Modify pyproject.toml<br>| See merge request: Ascend/pytorch!35116 | 3 个月前 | |
[sync] PR-35516: Fix pyrefly\set_linter\stabel_shim_version_linter error Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35533 merge sync-pr35516-code_check_fix-to-v2.9.0 into v2.9.0 [sync] PR-35516: Fix pyrefly\set_linter\stabel_shim_version_linter error Created-by: ascend-ds-bot Commit-by: huangjingwei Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/35516 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/1865 https://gitcode.com/Ascend/pytorch/issues/1862 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[91005219](https://gitcode.com/Ascend/pytorch/commit/91005219647bb7a5214edd96f12260a52e324684)|2026-05-13 15:19:57 +0800 CST|Fix pyrefly\set_linter\stabel_shim_version_linter error<br>| See merge request: Ascend/pytorch!35533 | 3 个月前 | |
add triton-ascend in requirements Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !36627 merge v2.9.0 into v2.9.0 add triton-ascend in requirements Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 在pta2.7、2.9、2.10版本requirements中安装TA 3.2.1版本 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 后续统一补充 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 triton-ascend安装成功,已跑简单compile用例,功能正常  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36627 | 3 个月前 | |
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!24843 | 11 个月前 | |
perf: defer dynamo/inductor loading on v2.9.0 (#2788) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !43444 merge v2.9.0_import into v2.9.0 perf: defer dynamo/inductor loading on v2.9.0 (#2788) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: ## 变更说明 将 v2.7.1_import 上的懒加载性能优化同步到 v2.9.0: - import torch_npu 时不再提前加载 torch._dynamo、torch._inductor 和 sympy。 - 首次导入或使用 Dynamo 入口时完成 Dynamo lazy setup;只有选择 Inductor backend 时才继续完成 Inductor lazy setup,非 Inductor backend 不初始化 Inductor。 - 设计上保留 torchair、npugraph_ex、transfer_to_npu、RNG prims 与公开接口行为;本文列出的测试和 CI 范围内未发现兼容性回归。 - 采用 v2.9.0 原生的 NPU Inductor device-op 注册路径,并保留目标分支的版本特有语义。 - 除 v2.7.1_import 的懒加载同步外,target 还包含一项来自 v2.10 修复意图、基于 v2.9 当前代码实现的 aten.erfc decomposition 重注册修复。 # v2.7.1_import 与 v2.9.0_import 改动差异总报告 ## 1. 报告目的 方便 committer 进行代码检视。 ## 2. “相同”与“差异”的判定规则 对每个文件分别提取两边 patch 的新增行和删除行,保留原始顺序和全部字符,然后逐字节比较: - **相同**:新增/删除代码行序列完全一致,包括空格、空行和文件末尾换行。 - **差异**:只要一个字符不同,或新增/删除行数不同,就标记为差异。 - **仅 v2.7.1**:v2.7.1 import 修改了该文件,v2.9.0 import 没有修改。 - **仅 v2.9.0**:v2.9.0 import 修改了该文件,v2.7.1 import 没有修改。 “改动代码相同”不等于“最终文件相同”。两个版本的基线代码本身可能不同;报告会把“同步 hunk 相同、最终文件因版本基线不同”单独说明。 本报告固定比较以下 SHA,避免维护分支继续前进后改变统计口径: - v2.7.1 source:0c9b783ca5635da8000e571fa60370f266a4e978..371545dc2e4a09ca2024ec220c3eed1b9a50ba48 - v2.9.0 target:dd936ee52a7202c144bd1322c04041955f0d2205..0bf5bdadcfa38f20608f6b5a6434dbe97ccb2c1b ## 3. 总体统计 两边 patch 的文件并集共 34 个文件;source 修改 33 个文件,target 修改 29 个文件: - 18 个文件的改动代码逐字符相同。 - 10 个文件双方都修改,但改动代码存在字符差异。 - 5 个文件仅 v2.7.1 修改,v2.9.0 采用不同的 DTensor 方案。 - 1 个文件仅 v2.9.0 修改,用于修复 aten.erfc decomposition 重复注册。 ### 3.1 改动代码完全相同的 18 个文件 | 文件 | v2.7.1 增/删 | v2.9.0 增/删 | 结论 | |---|---:|---:|---| | setup.py | +5/-0 | +5/-0 | entry point 声明完全相同 | | test/_inductor/test_current_device.py | +2/-1 | +2/-1 | 完全相同 | | test/_inductor/test_mlir_enable.py | +4/-1 | +4/-1 | 完全相同 | | test/npu/test_stream.py | +5/-0 | +5/-0 | 完全相同 | | test/utils/test_inductor.py | +0/-33 | +0/-33 | 删除代码完全相同 | | torch_npu/_init/patches/api_patches.py | +0/-2 | +0/-2 | 完全相同 | | torch_npu/_init/patches/distributed_patches.py | +61/-10 | +61/-10 | 完全相同 | | torch_npu/_init/patches/dynamo_patches.py | +0/-7 | +0/-7 | 完全相同 | | torch_npu/contrib/transfer_to_npu.py | +13/-1 | +13/-1 | 完全相同 | | torch_npu/distributed/fsdp/__init__.py | +2/-0 | +2/-0 | 完全相同 | | torch_npu/distributed/tensor/__init__.py | +14/-1 | +14/-1 | 完全相同 | | torch_npu/dynamo/__init__.py | +67/-5 | +67/-5 | 改动行完全相同;最终文件有一个基线空行差异 | | torch_npu/npu/__init__.py | +13/-2 | +13/-2 | 完全相同 | | torch_npu/npu/_graph_tree.py | +1/-12 | +1/-12 | 改动行完全相同;保留各版本图树基线 | | torch_npu/npu/_graph_tree_state.py | +11/-0 | +11/-0 | 新文件完全相同 | | torch_npu/npu/deterministic.py | +11/-3 | +11/-3 | 完全相同 | | torch_npu/utils/_graph_tree.py | +20/-9 | +20/-9 | 改动行完全相同;保留各版本 API 基线 | | torch_npu/utils/_rng_prims_patch.py | +255/-0 | +255/-0 | 新文件完全相同 | ### 3.2 双方都修改但代码不同的 10 个文件 | 文件 | v2.7.1 增/删 | v2.9.0 增/删 | 主要差异原因 | |---|---:|---:|---| | test/dynamo/test_compile_trigger.py | +1372/-0 | +1438/-0 | PyTorch 2.9 行为适配及 target 独有 has_triton、shape、fork 锁测试 | | test/test_torch_npu_init.py | +89/-14 | +79/-15 | DTensor OpSpec、TMA 名称及 bootstrap 快照版本差异 | | torch_npu/_inductor/kernel/bmm.py | +5/-4 | +3/-2 | v2.9 已无 bmm_configs/bmm_template 本地别名 | | torch_npu/_inductor/utils.py | +2/-1 | +2/-2 | source 在此定义并安装 has_triton;target 复用 _dynamo.py 的 v2.9 实现,只同步 Inductor 已绑定入口 | | torch_npu/_init/registry/registry_manager.py | +10/-24 | +8/-31 | 两版 registry 项目和初始化列表不同 | | torch_npu/distributed/__init__.py | +19/-1 | +18/-0 | 两版 distributed 基线 import 结构不同 | | torch_npu/npu/npugraph_ex/__init__.py | +2/-2 | +1/-1 | 基线空格/EOF 不同;最终文件收敛相同 | | torch_npu/utils/__init__.py | +1/-1 | +1/-0 | source 替换已有 import,target 在不同基线上新增;最终相同 | | torch_npu/utils/_dynamo.py | +447/-133 | +428/-129 | v2.9 wrapper、options、has_triton、AscendC、lookup 与 fork 锁适配 | | torch_npu/utils/_inductor.py | +8/-248 | +8/-247 | 删除代码相差一个基线空行;最终兼容转发文件相同 | ### 3.3 仅 v2.7.1 修改的 5 个文件 | 文件 | v2.7.1 增/删 | v2.9.0 | 原因 | |---|---:|---|---| | torch_npu/distributed/tensor/_attention.py | +2/-2 | 未修改 | v2.9 直接使用上游 register_sharding | | torch_npu/distributed/tensor/_dtensor_patch.py | +63/-0 | 未修改 | 2.7.1 需要本地轻量 helper;2.9 不需要复制上游实现 | | torch_npu/distributed/tensor/_math_ops.py | +2/-1 | 未修改 | 同上 | | torch_npu/distributed/tensor/_matrix_ops.py | +1/-1 | 未修改 | 同上 | | torch_npu/distributed/tensor/_moe_ops.py | +3/-2 | 未修改 | 同上 | ### 3.4 仅 v2.9.0 修改的 1 个文件 | 文件 | v2.7.1 | v2.9.0 增/删 | 原因 | |---|---|---:|---| | torch_npu/_inductor/decomposition.py | 未修改 | +1/-0 | 将 aten.erfc 加入重注册前的 overload 清理集合,避免 backend 重载时重复注册 | ## 4. 最重要的版本差异 ### 4.1 DTensor:v2.9 不同步 source 的 5 个文件改动是有意设计 v2.7.1 为避免导入 DTensor experimental API 间接加载 compiler 模块,在已有 _dtensor_patch.py 中增加轻量 register_sharding helper,并让 4 个算子文件改用该 helper。它依赖 2.7.1 内部结构,例如 TupleStrategy.childs 和 _is_inplace_op。 v2.9 保留算子文件对 PyTorch 自带 register_sharding 的直接使用。目标基线同时存在以下两种 PyTorch 2.9 兼容路径: python # _attention.py / _matrix_ops.py / _moe_ops.py from torch.distributed._tensor.experimental import register_sharding # _math_ops.py from torch.distributed.tensor.experimental import register_sharding 在 PyTorch 2.9 当前实现中,这些导入路径不会加载 Dynamo/Inductor,因此无需复制 2.7.1 的本地 decorator。target 最终没有新增 _sharding_registration.py,但仍保留并在 strategy 注册前加载目标基线已有的 _dtensor_patch.py;该文件负责 v2.9 的 kwargs strategy 和 expand_to_full_mesh_op_strategy 兼容,不是 2.7.1 register_sharding helper 的副本。 因此,target 未引入 _sharding_registration.py 对应的上游源码副本,也没有这类新增副本的 Meta/BSD License 声明要求;不能表述为 target 不存在 _dtensor_patch.py。 ### 4.2 has_triton:保留 v2.9 实现,并按初始化层级复用 v2.7.1 的 has_triton 是 torch_npu/_inductor/utils.py::patch_has_triton() 内部的缓存函数。v2.9 最终没有复制该函数体,也没有把自身实现移动到 Inductor 模块,而是把 v2.9 原有语义保留在 torch_npu/utils/_dynamo.py: python @functools.lru_cache(None) def has_triton() -> bool: from torch.utils._triton import has_triton_package if not has_triton_package(): return False from torch._dynamo.device_interface import get_interface_for_device ... _dynamo_register_interface_for_device() for device, extra_check in triton_supported_devices.items(): device_interface = get_interface_for_device(device) if device_interface.is_available() and extra_check(device_interface): return True return False 该实现逐项检查 CUDA、XPU、CPU、NPU;CPU 还要求 Triton CPU backend 存在,NPU 不查询 CUDA device properties。import torch_npu 时仅将这个轻量 callable 提前安装到 torch.utils._triton.has_triton,函数体内部的 Dynamo/Triton backend 导入仍延迟到首次调用,因此不会因为安装 patch 而提前加载 Dynamo/Inductor。 首次初始化 Inductor 后,torch_npu/_inductor/utils.py 复用同一个函数对象,更新 Inductor 已按值绑定的入口: python def patch_has_triton(): from torch._inductor import compile_fx from torch_npu.utils._dynamo import has_triton torch._inductor.scheduler.has_triton = has_triton compile_fx.has_triton = has_triton 这种归属确保全局只有一份 v2.9 设备判定实现,同时兼顾 import 阶段的早期 consumer 和 Inductor 加载后的已绑定 consumer。 ### 4.3 Inductor wrapper:v2.9 保留参数校验和 shape 延迟顺序 PyTorch 2.9 的 _TorchCompileInductorWrapper.__init__ 会在构造期间调用 self.apply_options()。target 因此不能复制 2.7.1 wrapper,而是保留以下顺序: text NPU option 名规范化及 npu_backend 类型预检 → PyTorch 2.9 src_init/src_apply_options 完成 mode、option 名和值校验 → 根据规范化 options/config/env 选择 NPU backend → 初始化所选 backend → 执行延迟记录的 shape handling patch → 执行 MLIR/DVM 构造期附加 scope 操作 target 还支持 PyTorch 2.9 原生的连字符 option alias: python attr_name = key.replace("-", "_") 因此 npu-backend/npu_backend、enable-shape-handling/enable_shape_handling 行为一致。任何校验失败都发生在 _setup_inductor_for_compile() 前,不会先初始化 NPU Inductor。 ### 4.4 backend lookup:两边最新实现均覆盖已绑定入口 v2.9 的 torch._dynamo.eval_frame 会按值绑定 lookup_backend。target 除更新 registry 外,还按 identity 更新已绑定入口: python registry.lookup_backend = lookup_backend if torch_dynamo.lookup_backend is original_lookup_backend: torch_dynamo.lookup_backend = lookup_backend if eval_frame.lookup_backend is original_lookup_backend: eval_frame.lookup_backend = lookup_backend 注册完成后通过 _COMPILER_FNS 无锁返回;只有指定 NPU backend 尚未出现在 _COMPILER_FNS 时才进入 RLock,避免正常 compile 热路径锁竞争。v2.7.1_import 最新提交也已同步该已绑定入口和无锁热路径语义,因此这不再是 target 独有能力。 ### 4.5 fork:两边均在 child 中重建 compiler 状态 两边最新实现都会在 child 中重建每个 run_once 的 Condition,并清除可能指向父进程线程的 running owner;已完成的 has_run 状态保留,fork 时尚未完成的 lazy setup 可由 child 重试。 两边也都维护 backend lookup 与 backend scope 两把 RLock。当前实现不在 fork 前获取并等待这些锁,而是在 child hook 中直接丢弃继承的锁对象: python def _reset_compiler_locks_after_fork(): global _INDUCTOR_NPU_BACKEND_LOCK, _DYNAMO_NPU_BACKEND_LOOKUP_LOCK _INDUCTOR_NPU_BACKEND_LOCK = threading.RLock() _DYNAMO_NPU_BACKEND_LOOKUP_LOCK = threading.RLock() os.register_at_fork(after_in_child=_reset_compiler_locks_after_fork) 父进程继续使用原锁,child 使用新锁,避免 child 继承一个由不存在的父线程永久持有的 RLock。该方案不保证 fork 前临时 TORCHINDUCTOR_NPU_BACKEND 已恢复;环境变量按 fork 瞬间复制,child backend scope 保存并恢复的是 fork 瞬间继承的值,不会自动推断父线程进入 scope 前的值。target 额外直接验证了父线程持有 lookup lock 时,child 可通过 torch._dynamo.lookup_backend("npu") 恢复;scope 测试直接覆盖 _NpuBackendScope,不能描述成 fork child 内执行完整 Inductor compile。 ### 4.6 AscendC deterministic:仅 target 需要保留的 v2.9 语义 AscendC deterministic 是 v2.9 target 独有的基线语义。实际 compile 调用进入 _NpuBackendScope("ascendc") 后,先按临时 backend 环境加载或切换 NPU Inductor,再安装 deterministic level cache-key patch;随后 new_call() 在调用 PyTorch 原 wrapper 前安装 Dynamo deterministic guard。两者都位于 backend scope 内,异常时 scope 仍恢复 TORCHINDUCTOR_NPU_BACKEND 并释放锁。2.7.1 source 没有对应分支,跨版本同步时必须保留 target 实现。 ### 4.7 aten.erfc:target 独有的重复注册修复 target 原本已定义 Triton erfc = 1 - erf(x) decomposition,但 backend 重载会再次执行注册。若 aten.erfc.default 等 overload 仍留在全局 decomposition 表,第二次注册会先报 duplicate registrations for aten.erfc.default。 0bf5bdadcf 仅将 aten.erfc 加入 DECOMPOSITION_OVERLOAD_OP:add_overload() 会展开 packet,并在现有 decorator 再次注册前删除 default、out 等旧 overload。在标准干净 registry 状态下,首次注册结果和数值公式不变,只修复重复初始化。 该语义参考 v2.10 提交 ab0acd320e,但实现是基于 v2.9 当前 decomposition 结构完成;它不是 v2.7.1_import patch 的一部分,也没有同步 ab0acd320e 的其他文件。 ## 5. 测试差异与审查提示 `test/dynamo/test_compile_trig See merge request: Ascend/pytorch!43444 | 18 天前 | |
update post version in version.txt Co-authored-by: fft1374<liwen120@huawei.com> # message auto-generated for no-merge-commit merge: !44578 merge v2.9.0-update_version into v2.9.0 update post version in version.txt Created-by: fft1374 Commit-by: fft1374 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) update post version in version.txt # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44578 | 16 天前 |
TorchNPU
简介
TorchNPU是为PyTorch框架开发的适配插件,旨在将昇腾NPU接入PyTorch生态,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。
昇腾为基于华为昇腾处理器和软件的行业应用及服务提供全栈AI计算基础设施。您可以通过访问昇腾社区,了解关于昇腾的更多信息。
目录结构
关键目录如下:
├─ci # 持续集成脚本目录
├─cmake # CMake构建配置目录
├─torch_npu # 核心适配目录
│ ├─csrc/ # 底层核心目录
│ ├─npu/ # NPU接口目录
│ ├─distributed/ # 分布式训练适配目录
│ ├─asd/ # Ascend Debug工具目录
├─docs # 项目文档目录
├─examples # 示例目录
├─torchnpugen/ # 代码生成模块目录
└─test # 测试目录
版本说明
TorchNPU的版本说明包含版本配套说明、版本兼容性说明和更新说明等,具体请参见《版本说明》。
环境部署
TorchNPU插件的安装操作,具体请参见《软件安装》。
快速入门
以CNN模型为例,介绍将其迁移至昇腾NPU上进行训练的方法,具体操作请参见《快速入门》。
特性介绍
TorchNPU插件从内存管理、分布式、算子下发、故障诊断等方面精心打造了一系列独特的特性。为用户提供了一个高效、便捷的开发工具。
- 内存管理:具体请参考内存管理。
- 分布式:具体请参考分布式。
- 算子下发:具体请参考算子下发。
- 故障诊断:具体请参考故障诊断。
- NPUGraph:具体请参考NPUGraph。
- 自定义算子适配开发:具体请参考自定义算子适配开发。
API参考
分支维护策略
TorchNPU版本分支的维护阶段如下:
| 状态 | 时间 | 说明 |
|---|---|---|
| 计划 | 1—3 个月 | 计划特性 |
| 开发 | 6—12 个月 | 开发新特性并修复问题,定期发布新版本。针对不同的PyTorch版本采取不同的策略,常规分支的开发周期分别为6个月,长期支持分支的开发周期为12个月 |
| 维护 | 1年/3.5年 | 常规分支维护1年,长期支持分支维护3.5年。对重大BUG进行修复,不合入新特性,并视BUG的影响发布补丁版本 |
| 生命周期终止(EOL) | N/A | 分支不再接受任何修改 |
PyTorch版本维护策略
| PyTorch版本 | 维护策略 | 当前状态 | 发布时间 | 后续状态 | EOL日期 |
|---|---|---|---|---|---|
| 2.9.0 | 常规分支 | 开发 | 2026/01/15 | 预计2026/07/15起进入维护状态 | - |
| 2.8.0 | 常规分支 | 开发 | 2025/10/15 | 预计2026/03/15起进入维护状态 | - |
| 2.7.1 | 长期分支 | 开发 | 2025/10/15 | 预计2026/10/15起进入维护状态 | - |
| 2.6.0 | 常规分支 | 开发 | 2025/07/25 | 预计2026/01/25起进入维护状态 | - |
| 2.5.1 | 常规分支 | 维护 | 2024/11/08 | 预计2026/08/08起进入无维护状态 | - |
| 2.4.0 | 常规分支 | 维护 | 2024/10/15 | 预计2026/06/15起进入无维护状态 | - |
| 2.3.1 | 常规分支 | 维护 | 2024/06/06 | 预计2026/06/07起进入无维护状态 | |
| 2.2.0 | 常规分支 | EOL | 2024/04/01 | 2025/10/14 | |
| 2.1.0 | 长期支持 | 维护 | 2023/10/15 | 预计2026/12/30起进入无维护状态 | |
| 2.0.1 | 常规分支 | EOL | 2023/7/19 | 2024/3/14 | |
| 1.11.0 | 长期支持 | EOL | 2023/4/19 | 2025/10/25 | |
| 1.8.1 | 长期支持 | EOL | 2022/4/10 | 2023/4/10 | |
| 1.5.0 | 长期支持 | EOL | 2021/7/29 | 2022/7/29 |
贡献指导
介绍如何向TorchNPU插件库贡献代码,具体请参见TorchNPU插件 贡献指南。
联系我们
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交GitCode Issues,我们会尽快回复。感谢您的支持。
安全声明
TorchNPU的系统安全加固、运行用户建议和文件权限控制等内容,请参见TorchNPU插件 安全声明。
免责声明
致TorchNPU插件使用者
- 本插件仅供调试和开发使用,使用者需自行承担使用风险,并理解以下内容:
- 数据处理及删除:用户在使用本插件过程中产生的数据属于用户责任范畴。建议用户在使用完毕后及时删除相关数据,以防信息泄露。
- 数据保密与传播:使用者了解并同意不得将通过本插件产生的数据随意外发或传播。对于由此产生的信息泄露、数据泄露或其他不良后果,本插件及其开发者概不负责。
- 用户输入安全性:用户需自行保证输入的命令行的安全性,并承担因输入不当而导致的任何安全风险或损失。对于输入命令行不当所导致的问题,本插件及其开发者概不负责。
- 免责声明范围:本免责声明适用于所有使用本插件的个人或实体。使用本插件即表示您同意并接受本声明的内容,并愿意承担因使用该功能而产生的风险和责任,如有异议请停止使用本插件。
- 在使用本工具之前,请谨慎阅读并理解以上免责声明的内容。对于使用本插件所产生的任何问题或疑问,请及时联系开发者。
License
TorchNPU插件的使用许可证,具体请参见LICENSE文件。
致谢
感谢来自社区的每一个PR,欢迎贡献TorchNPU插件!