作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 25 天前 | |
[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 | 18 天前 | |
add t5 config Co-authored-by: lihui<lihui488@huawei.com> # message auto-generated for no-merge-commit merge: !44030 merge v2.9.0_t5_config into v2.9.0 add t5 config Created-by: lihui488 Commit-by: lihui Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3416 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 在npu_support.py里面针对T5网络增加dropout算子保序副作用 # 【资料变更】 否 # 【接口变更】 不涉及 # 【功能验证】 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44030 | 5 天前 | |
[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 | 20 天前 | |
[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 | 20 天前 | |
[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 | 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 | 20 天前 | |
| 1 年前 | ||
reduce scatter support tensorlist.size != world_size Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44439 merge reduce_scatter_v2.9.0 into v2.9.0 reduce scatter support tensorlist.size != world_size Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本提案修改 torch_npu 的 ProcessGroupHCCL::reduce_scatter,使其输入支持范围与 PyTorch 社区(NCCL)保持一致。 PyTorch 2.2 的 reduce_scatter 对输入张量列表有形状/计数约束(列表长度须等于 world_size、每张量 numel 须等于输出 numel 等),2.3 起去除了这些约束。pta(torch_npu)当前的 reduce_scatter 与 PyTorch 2.2 实现一致:输入是 tensor list,包含多个 tensor,数量与卡数一致。这与社区后续版本不一致,需要兼容输入只有一个 tensor 的场景等用例,和社区保持一致。 核心改动:在 reduce_scatter 的 same_size 分支新增展平函数 flatten_for_reduce_scatter,替代原先复用的 flatten_for_scatter_gather——移除"输入张量数须等于 world_size""每张量 numel 须等于输出 numel"两条校验,保留列表长度一致与 input/output 同设备校验,并新增非空检查。Python 层 torch.distributed.reduce_scatter 签名不变。) 各输入形态数值示例 统一 world_size=4、output=[4]、fp32、SUM,输入约定同 §2.1(rank r 展平后第 k 元 = r*10+k)。need = 16(输出 numel × world_size);全局位置 p 的归约值在 p < have 时为 60+4p,p ≥ have 时零填充。下文列出每个 rank 的输入与输出。 **① 单 tensor**(input_list = [[16]],have = 16 = need): rank0 IN : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] OUT: [60,64,68,72] rank1 IN : [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25] OUT: [76,80,84,88] rank2 IN : [20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35] OUT: [92,96,100,104] rank3 IN : [30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45] OUT: [108,112,116,120] **② 张量数 < 卡数**(input_list = [[4],[4]],have = 8 < 16,尾部两 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [0,0,0,0] OUT: [0,0,0,0] **③ 张量数 > 卡数**(input_list = [[4]]*5,have = 20 > 16,第 5 个张量整体忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] **④ 张量数 = 卡数,每张量 > 输出**(input_list = [[5]]*4,have = 20 > 16,展平后尾部 4 元忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3, 4] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [5, 6, 7, 8, 9] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [40,41,42,43,44] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [45,46,47,48,49] ← 后4元忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] 展平后每 rank 共 20 元,前 16 元参与归约,尾部 4 元(第 4 个张量的后 4 元)忽略。 **⑤ 张量数 = 卡数,每张量 < 输出**(input_list = [[3]]*4,have = 12 < 16,尾部 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2] [10,11,12] [20,21,22] [30,31,32] [3, 4, 5] [13,14,15] [23,24,25] [33,34,35] [6, 7, 8] [16,17,18] [26,27,28] [36,37,38] [9,10,11] [19,20,21] [29,30,31] [39,40,41] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [0,0,0,0] **⑥ 2D 及多维**(input_list = [[5,4]],have = 20 > 16,展平后尾部 4 元忽略,同 ③): rank0 IN (shape [5,4]): rank1 IN (shape [5,4]): rank2 IN (shape [5,4]): rank3 IN (shape [5,4]): [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 1、基础功能验证 2、dtype*op*tensorshape(1D,2D)*input_tensor_list.size(==,>,< world_size)*all_input_numbel(==, >, < )all_output_numbel reduce_scatter算子输出与gpu结果对比  3、性能验证,修改前后pta调用reduce_scatter,用时基本无变化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44439 | 3 天前 | |
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: !44671 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-15 18:01:47. See merge request: Ascend/pytorch!44671 | 1 天前 | |
[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 | 2 个月前 | |
[bugfix] Read DVM config dynamically Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !44515 merge fix/dvm-config-dynamic-v290 into v2.9.0 [bugfix] Read DVM config dynamically Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: # 【合入来源】 Fixes https://gitcode.com/Ascend/pytorch/issues/3993 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 将 DVM 配置项的值导入改为模块导入。 2. 在使用处动态读取 dump_fx_test、融合开关、debug_mode、bf16_vector_keep_promoted 和 view_fusion_level,使运行时修改配置生效。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及。 # 【功能验证】 - python -m py_compile torch_npu/_inductor/dvm/__init__.py torch_npu/_inductor/dvm/graph_fusion.py torch_npu/_inductor/dvm/mlir_fusion.py torch_npu/_inductor/dvm/util.py - git diff --check - 按要求不新增测试用例。 - CI 通过评论 compile 触发,结果以流水线为准。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44515 | 2 天前 | |
fix_aoti_torch_cpu_addmm_not_declared Co-authored-by: qiaoyaodan<qiaoyaodan@huawei.com> # message auto-generated for no-merge-commit merge: !41941 merge v290_fix_aoti_torch_cpu_addmm_not_declared into v2.9.0 fix_aoti_torch_cpu_addmm_not_declared Created-by: qiaoyaodan888 Commit-by: qiaoyaodan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 addmm.default被加到了fallback_ops.inductor_fallback_ops里面,在cpu上跑的时候就生成了aoti_torch_cpu_addmm,但是不支持,所以报错了。 1、把addmm.default从fallback_ops.inductor_fallback_ops删除;这样在cpu上跑的时候就是走的decompose逻辑 2、把addmm.default从DECOMPOSITION_OVERLOAD_OP里面删除,因为addmm.default只有在cpu上跑的时候才会走decomposition逻辑;npu上跑的时候会在图优化阶段被decompose。所以不需要在DECOMPOSITION_OVERLOAD_OP里面存在 3、为了编译通过,需要在torch_npu/csrc/inductor/aoti_torch/generated/c_shim_npu.h里面把aoti_torch_npu_addmm删除 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41941 | 30 天前 | |
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 | 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 | 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 | 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 | 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 | 3 个月前 | |
[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 | 1 个月前 | |
[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 | 2 个月前 | |
| 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 | 10 个月前 | |
[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 | 20 天前 | |
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 | 10 天前 | |
[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 | 20 天前 | |
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 | 2 个月前 | |
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 | 2 个月前 | |
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 | 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 | 3 个月前 | |
[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 | 2 个月前 | |
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 | 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 | 10 个月前 | |
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 | 4 天前 | |
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 | 2 天前 |
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插件!