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: !41831 merge sync-pr37107-to-v2.7.1 into v2.7.1 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](https://gitcode.com/Ascend/pytorch/issues/2164) See merge request: Ascend/pytorch!41831 | 1 个月前 | |
[feat]devcontainer Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !40235 merge v2.7.1 into v2.7.1 [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!40235 | 1 个月前 | |
[docs] add pull request template Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !30432 merge v2.7.1 into v2.7.1 [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!30432 | 6 个月前 | |
[v2.7.1] Add CI Docker images build workflow Co-authored-by: wangqi<2801406898@qq.com> # message auto-generated for no-merge-commit merge: !43047 merge v2.7.1 into v2.7.1 [v2.7.1] Add CI Docker images build workflow Created-by: wangqi0808 Commit-by: wangqi Merged-by: ascend-robot Description: ## Summary 为 v2.7.1 分支添加 .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!43047 | 1 个月前 | |
add t5 config Co-authored-by: lihui<lihui488@huawei.com> # message auto-generated for no-merge-commit merge: !44026 merge v2.7.1_t5_config into v2.7.1 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!44026 | 21 天前 | |
[docs]v2.7.1文档产品名称更新 Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39928 merge v2.7.1 into v2.7.1 [docs]v2.7.1文档产品名称更新 Created-by: zxchen152 Commit-by: 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!39928 | 1 个月前 | |
[Feature]support abi configuration for libtorch_npu. | 2 年前 | |
[docs]v2.7.1文档产品名称更新 Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !39928 merge v2.7.1 into v2.7.1 [docs]v2.7.1文档产品名称更新 Created-by: zxchen152 Commit-by: 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!39928 | 1 个月前 | |
【docs】Delete related materials under docs Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !43370 merge v2.7.1 into v2.7.1 【docs】Delete related materials under docs Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 删除2.7.1 docs下资料 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43370 | 1 个月前 | |
[Docs]Fix doc-ci issues Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !41932 merge v2.7.1-doc-ci into v2.7.1 [Docs]Fix doc-ci issues 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/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 根据 doc-ci-issue.csv 中扫描出的问题,对 29 个 markdown 文件进行了逐一修复,共涉及 403 处新增,355 处删除。 修复的检查类型及对应文件 MD003(标题格式统一,去除 setext 风格) - benchmarks/inference/README.md:在 --- 前添加空行,避免被误解析为 setext 标题下划线 MD010(使用空格代替制表符缩进) - benchmarks/inference/README.md:移除行内制表符 MD012(删除多余空行) - benchmarks/inference/README.md - torch_npu/_inductor/docs/feature/tiling/overview.md - torch_npu/_inductor/docs/feature/tiling/INDUCTOR_ASCEND_AGGRESSIVE_AUTOTUNE.md MD022(标题后添加空行) - tools/linter/adapters/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/profiling/profiling_performance.md - torch_npu/_inductor/docs/feature/tiling/ 下 6 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 MD026(移除标题末尾的标点符号) - examples/libtorch_hccl/README_HCCL.md - torch_npu/csrc/libs/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/feature/tiling/overview.md MD030(列表前缀符号后保留一个空格) - torch_npu/_inductor/docs/feature/other/ 下 6 个文件 - torch_npu/_inductor/docs/feature/tiling/ 下 8 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 - torch_npu/_inductor/docs/feature/catlass/ 下 7 个文件 MD031(代码块前后添加空行) - examples/libtorch_hccl/README_HCCL.md - benchmarks/inference/README.md - torch_npu/_inductor/docs/profiling/profiling_performance.md - torch_npu/_inductor/docs/feature/tiling/ 下 4 个文件 MD032(列表前后添加空行) - examples/libtorch_hccl/README_HCCL.md - benchmarks/inference/README.md - tools/linter/adapters/README.md - torch_npu/_inductor/docs/getting_started/getting_started.md - torch_npu/_inductor/docs/feature/tiling/ 下 6 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 MD038(行内代码块与被包裹代码之间不能有空格) - benchmarks/inference/README.md:移除 --profiler_start_step 中的尾随空格 MD040(代码块指定编程语言) - tools/flight_recorder/flight_recorder.md:3 处代码块添加 bash / text - examples/libtorch_hccl/README_HCCL.md:1 处代码块添加 text MD041(首个非空行需为一级标题) - torch_npu/csrc/libs/README.md:## → # - torch_npu/_inductor/docs/feature/catlass/ 下 6 个文件:## → # MD047(文档末尾添加换行结束) - benchmarks/inference/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/feature/tiling/ 下 5 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 - torch_npu/_inductor/docs/feature/catlass/ 下 6 个文件 MD051(修复无效的链路分片 / 锚点) - benchmarks/inference/README.md:将目录中的 & 替换为 and,修正标题中的锚点引用,使目录链接与标题匹配 链接有效性检查 - docs/zh/framework_feature_guide_pytorch/stream_taskqueue_parallel_delivery.md:更新了一个失效的外部链接 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41932 | 1 个月前 | |
| 1 年前 | ||
【API一致性任务】test: add consistency validation cases for torch.BoolStorage / torch_npu.npu.BoolStorage (#2955) Co-authored-by: luoxiaoyan2024<luoxiaoyan202516@gmail.com> # message auto-generated for no-merge-commit merge: !42278 merge devin/api-2955-v2.7.1 into v2.7.1 【API一致性任务】test: add consistency validation cases for torch.BoolStorage / torch_npu.npu.BoolStorage (#2955) Created-by: luoxiaoyan2024 Commit-by: luoxiaoyan2024 Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 issue:https://gitcode.com/Ascend/pytorch/issues/2955 # 【修改方案】 一、API 功能说明 torch.BoolStorage 是 PyTorch 的布尔类型存储类(TypedStorage 子类),核心功能如下: - 承载布尔型张量的底层存储:以 torch.bool 为元素类型,提供按索引读写、填充、转为张量等存储语义。 - 配套 NPU 类型:torch_npu.npu.BoolStorage 是昇腾 NPU 上的布尔存储类,用于 NPU 张量的底层存储;NPU 布尔张量的 .storage() 即返回该类型实例。 - 标准 storage 类:与 torch.IntStorage / torch.FloatStorage 等同族,是 PyTorch 原生 API,非 torch_npu 私有扩展。 二、测试文件 test_bool_storage.py 完整验证该 API 的原因 该用例针对 torch.BoolStorage 与 torch_npu.npu.BoolStorage 两类存储类,从构造、索引、填充、类型/大小、设备一致性四个维度全覆盖验证,具体如下: 1. 对 CPU 类 torch.BoolStorage 的验证(test_cpu_bool_storage_basic / _from_sequence / _empty / _out_of_bounds) - 构造与索引:以 torch.BoolStorage(3) 构造并逐个 setitem/getitem,确认 tolist() 与预期一致、与社区行为一致。 - 元信息:size()==3、element_size()==1(与 torch.BoolStorage().element_size() 上游预期一致)。 - 填充与往返:fill_(False) 后 tolist() 全 False,并经 torch.BoolTensor(s) 往返确认 dtype==torch.bool、值一致。 2. 对 NPU 类 torch_npu.npu.BoolStorage 的验证(test_npu_bool_storage_basic / _from_sequence / _empty / _out_of_bounds / test_npu_tensor_storage_consistency) - 存在性:断言 torch_npu.npu.BoolStorage 在 NPU 上已注册。 - 构造与索引:以 torch_npu.npu.BoolStorage(4) 构造并索引,确认 tolist() / dtype==torch.bool / element_size()==1 / size()==4。 - 填充:fill_(True) 后 tolist() 全 True。 - 设备一致性:构造一个 NPU 布尔张量并断言其 .storage() 是 torch_npu.npu.BoolStorage 实例、dtype==torch.bool、tolist() 与张量一致。 3. 边界与语义 - 本用例不尝试用 NPU storage 构造 CPU 张量(现代 PyTorch 设备语义禁止,属预期),仅对 NPU storage 直接操作或经 NPU 张量 .storage() 取,符合规范。 综上,该文件覆盖了 BoolStorage 存储类在 NPU 上的「正常场景 + 索引边界 + 元信息 + 设备一致性」,是对该存储类在 NPU 上行为的完整且严谨的验证。 三、NPU 适配 torch.BoolStorage 与 torch_npu.npu.BoolStorage 适配昇腾 NPU 时无需修改 API 本身,具体分析: 1. 标准 storage 类,逻辑与硬件解耦 - element_size()、tolist()、fill_()、索引等均为通用存储语义,无论 CPU/GPU/NPU 调用结果一致,无设备特化分支。 2. 配套 NPU 类型已具备 - torch_npu.npu.BoolStorage 已在 torch_npu 中注册,NPU 布尔张量的存储即其实例,无需新增绑定。 3. 本用例仅做一致性看护 - 用例不改写任何全局状态,仅验证存储类行为在 NPU 上与社区一致,可直接复用。 # 【资料变更】 > 不涉及 已检查文档 [https://gitcode.com/Ascend/pytorch/tree/v2.7.1/docs/zh/native_apis](https://gitcode.com/Ascend/pytorch/tree/v2.7.1/docs/zh/native_apis),torch.BoolStorage 为标准 storage 类、非私有接口、非缺失 API,依据 API 一致性说明文档 §2 不纳入 native_apis 资料补齐范围,故不需要提交 PR 修改资料。 # 【接口变更】 > 不涉及 # 【功能验证】 > 说明测试场景、测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤 > 新增/变更内容是否已新增/适配 UT 测试用例看护 在 Ascend 910B NPU 环境、torch 2.7.1 / 2.11.0 / 2.12.0 / master(nightly)+ 对应 torch_npu 上执行该用例,均通过。代表性日志(2.7.1 与 2.12.0)如下: # torch 2.7.1 / torch_npu 2.7.1 (Ascend 910B) python test/test_bool_storage.py -v Ran 9 tests in 1.2s OK # torch 2.12.0 / torch_npu 2.12.0.rc1 (Ascend 910B) python test/test_bool_storage.py -v Ran 9 tests in 1.2s OK 其余 2 个版本(2.11.0 / master)执行结果一致,均输出 Ran 9 tests ... OK。 用例共包含 9 个测试方法:CPU 侧 test_cpu_bool_storage_basic / test_cpu_bool_storage_from_sequence / test_cpu_bool_storage_empty / test_cpu_bool_storage_out_of_bounds;NPU 侧 test_npu_bool_storage_basic / test_npu_bool_storage_from_sequence / test_npu_bool_storage_empty / test_npu_bool_storage_out_of_bounds / test_npu_tensor_storage_consistency。 # 【CheckList】 > PR 提交人对以下 CheckList 自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR 标题正确使用类型标签,如:feat、fix、refactor、docs、test 等 - [x] PR 持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42278 | 19 天前 | |
test: adapt Generator.clone_state test for NPU Co-authored-by: qq_65095566<1922937030@qq.com> # message auto-generated for no-merge-commit merge: !43344 merge test-generator-clone-state-2.7.1 into v2.7.1 test: adapt Generator.clone_state test for NPU Created-by: qq_65095566 Commit-by: qq_65095566 Merged-by: ascend-robot Description: # 【合入来源】 ## issue:[【社区任务】7月社区任务第三期-Ascend for PyTorch API 一致性开发(124) #3235](https://gitcode.com/Ascend/pytorch/issues/3235) ## issue:[[Usage]: torch.Generator.clone_state NPU一致性验证 #3476](https://gitcode.com/Ascend/pytorch/issues/3476) * [ ] 需求 * [ ] 问题单 * [x] issue/工单 * [ ] 重构优化 * [ ] 资料更新 # 【修改方案】 ## 1. API基础功能及用例覆盖 torch.Generator.clone_state 用于克隆当前 Generator 的随机数状态,返回一个新的 Generator 对象。克隆后的 Generator 应保持与原 Generator 克隆时一致的 RNG 状态,从而保证后续随机数生成结果可复现。 PyTorch v2.7.1 官方社区中已存在 torch.Generator.clone_state 相关用例,检索结果包括: text test/test_cuda.py:1965 test/test_cuda.py:2068 test/inductor/test_cudagraph_trees.py:2673 其中本次适配的官方目标用例为: text test/test_cuda.py::TestCuda.test_graphsafe_set_get_rng_state test/test_cuda.py:L1951-L2028 该用例直接覆盖以下 Generator RNG 状态相关功能: * graphsafe_get_state * clone_state * graphsafe_set_state * 默认 Generator 在图场景下的 RNG 状态一致性 因此,本次无需新增自定义测试用例,只需适配现有 PyTorch 官方用例。 ## 2. v2.7.1原有patch情况 v2.7.1 已存在: text test_upstream/test/test_cuda.py.patch 原 patch 已对 test/test_cuda.py 中部分 CUDA 相关测试进行了 NPU 适配,但未覆盖 torch.Generator.clone_state 对应的官方目标用例: text test/test_cuda.py::TestCuda.test_graphsafe_set_get_rng_state 原始官方用例中使用了 CUDA 专属接口和 CUDA 设备: python torch.Generator(device="cuda") torch.cuda.CUDAGraph() torch.cuda.Stream() torch.cuda.default_generators[0] torch.cuda.stream(s) torch.cuda.current_stream().wait_stream(s) torch.rand(..., device="cuda") 在 NPU 环境下直接运行时,该用例会因 CUDA graph 条件不满足而跳过,无法覆盖 torch.Generator.clone_state 在 NPU 上的行为。 此外,在导入测试依赖时,torch.cuda.get_device_capability() 在 NPU 环境下可能返回 None,而 PyTorch 内部 common_cuda.py 中存在与 tuple 比较的逻辑,可能导致导入阶段触发异常: text TypeError: '>=' not supported between instances of 'NoneType' and 'tuple' ## 3. 本次修改内容 本次在已有 test_upstream/test/test_cuda.py.patch 基础上补充 test_graphsafe_set_get_rng_state 的 NPU 适配。 主要修改如下: 1. 将目标用例中的 CUDA 设备张量替换为 NPU 设备张量: python torch.rand(..., device="npu") 2. 将 Generator 初始化设备从 CUDA 替换为 NPU: python generator = torch.Generator(device="npu") 3. 将 CUDA graph 相关接口替换为 NPU graph 对应接口: python g = torch.npu.NPUGraph() s = torch.npu.Stream() default_generator = torch.npu.default_generators[0] 4. 将 CUDA stream 上下文替换为 NPU stream 上下文: python with torch.npu.stream(s): 5. 将 CUDA stream 同步替换为 NPU stream 同步: python torch.npu.current_stream().wait_stream(s) 6. 将原 CUDA graph 可用性判断替换为 NPU 可用性判断: python @unittest.skipIf( not torch.npu.is_available(), "NPU not available, skipping tests" ) 7. 增加 torch.cuda.get_device_capability() 返回 None 时的兼容处理,避免测试导入阶段触发 NoneType 与 tuple 比较异常: python if torch.cuda.get_device_capability() is None: torch.cuda.get_device_capability = lambda device=None: (0, 0) # noqa: E731 8. 增加以下装饰器,避免 CUDA memory leak / non-default stream 检查逻辑影响 NPU 目标用例运行: python @skipCUDAMemoryLeakCheckIf(True) @skipCUDANonDefaultStreamIf(True) ## 导入顺序说明 test/test_cuda.py 中 torch_npu / transfer_to_npu 的导入位置属于初始化依赖例外。 原因是 TestCuda 类存在类级跳过条件: python @unittest.skipIf(not TEST_CUDA, "CUDA not available, skipping tests") class TestCuda(TestCase): TEST_CUDA 会在 torch.testing._internal.common_cuda 导入阶段计算。若严格将 torch_npu / transfer_to_npu 放到所有 torch.testing 导入之后,NPU 环境下 TEST_CUDA 会提前计算为 False,导致目标用例 test_graphsafe_set_get_rng_state 被类级 skip,无法覆盖 torch.Generator.clone_state。 因此本 patch 保留 transfer_to_npu 在 common_cuda 导入前初始化。该处理不使用 try-except,不修改 TestCuda 类级 skip 条件,也不新增 NPU 专用测试类,仅用于保证官方目标用例能在 NPU 上真实执行。 本次只适配官方已有用例,不修改 torch.Generator.clone_state 接口实现。 本次适配的 test_graphsafe_set_get_rng_state 已能覆盖 torch.Generator.clone_state 在 NPU Generator RNG 状态克隆场景下的核心行为。 # 【资料变更】 已检查 master 分支 docs/zh/api/native_api 资料目录,torch.Generator.clone_state 为 PyTorch Generator 公开接口,非私有接口。该 API 属于 Generator 状态类 API,非计算类 API,与具体数据类型无关,限制与说明填写为 -。 根据 master 分支最新资料目录规则,pytorch_2-9-0 与 pytorch_2-10-0 目录已删除,本次不再补充;新增 pytorch_2-13-0 目录需要同步检查并刷新。资料补齐以 master 分支 docs/zh/api/native_api 当前实际存在的版本目录为准。 资料补齐已在 master 分支单独提交 PR。本次未新增独立的 torch-Generator.md 文件,而是在各版本已有 torch.md 的 ## Generators 章节中补充 clone_state() 条目,位置放在 set_state() 之后,保持 torch.Generator 相关 API 统一维护在 torch.md 中。 # 【接口变更】 不涉及。 本次仅适配 PyTorch 官方测试用例,不修改客户可见接口,不修改 torch.Generator.clone_state 功能实现。 # 【功能验证】 ## 运行环境 text 操作系统:Ubuntu 22.04.5 LTS 机器架构:aarch64 昇腾硬件:Ascend 910B3 NPU npu-smi版本:25.2.0 CANN版本:9.1.0-beta.1 Python版本:3.11 torch版本:2.7.1+cpu torch-npu版本:2.7.1 将最终 patch 应用到干净的 PyTorch v2.7.1 工作树后,运行官方目标用例。 bash cd /workspace source /workspace/envs/torch-npu-2.7.1/bin/activate source /usr/local/Ascend/ascend-toolkit/set_env.sh unset PYTHONPATH export PYTHONPATH=/workspace/pytorch-v2.7.1/test export PYTHONNOUSERSITE=1 export PYTORCH_PRINT_REPRO_ON_FAILURE=0 python /workspace/pytorch-v2.7.1/test/test_cuda.py -v -k test_graphsafe_set_get_rng_state 验证结果: text test_graphsafe_set_get_rng_state (__main__.TestCuda.test_graphsafe_set_get_rng_state) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.191s OK 最终 patch 可以在干净工作树中正常应用,修改后的官方用例已在 NPU 上通过,可以覆盖 torch.Generator.clone_state 的核心功能。 # 【CheckList】 * [x] 代码注释完备,正确记录错误日志 * [x] 代码实现进行了返回值、空指针等校验 * [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 * [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43344 | 19 天前 | |
Update op_plugin commit id Co-authored-by: pta-robot<pta_robot@163.com> # message auto-generated for no-merge-commit merge: !44369 merge v2.7.1 into v2.7.1 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-11 22:02:20. See merge request: Ascend/pytorch!44369 | 19 天前 | |
[Docs]Fix doc-ci issues Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !41932 merge v2.7.1-doc-ci into v2.7.1 [Docs]Fix doc-ci issues 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/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 根据 doc-ci-issue.csv 中扫描出的问题,对 29 个 markdown 文件进行了逐一修复,共涉及 403 处新增,355 处删除。 修复的检查类型及对应文件 MD003(标题格式统一,去除 setext 风格) - benchmarks/inference/README.md:在 --- 前添加空行,避免被误解析为 setext 标题下划线 MD010(使用空格代替制表符缩进) - benchmarks/inference/README.md:移除行内制表符 MD012(删除多余空行) - benchmarks/inference/README.md - torch_npu/_inductor/docs/feature/tiling/overview.md - torch_npu/_inductor/docs/feature/tiling/INDUCTOR_ASCEND_AGGRESSIVE_AUTOTUNE.md MD022(标题后添加空行) - tools/linter/adapters/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/profiling/profiling_performance.md - torch_npu/_inductor/docs/feature/tiling/ 下 6 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 MD026(移除标题末尾的标点符号) - examples/libtorch_hccl/README_HCCL.md - torch_npu/csrc/libs/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/feature/tiling/overview.md MD030(列表前缀符号后保留一个空格) - torch_npu/_inductor/docs/feature/other/ 下 6 个文件 - torch_npu/_inductor/docs/feature/tiling/ 下 8 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 - torch_npu/_inductor/docs/feature/catlass/ 下 7 个文件 MD031(代码块前后添加空行) - examples/libtorch_hccl/README_HCCL.md - benchmarks/inference/README.md - torch_npu/_inductor/docs/profiling/profiling_performance.md - torch_npu/_inductor/docs/feature/tiling/ 下 4 个文件 MD032(列表前后添加空行) - examples/libtorch_hccl/README_HCCL.md - benchmarks/inference/README.md - tools/linter/adapters/README.md - torch_npu/_inductor/docs/getting_started/getting_started.md - torch_npu/_inductor/docs/feature/tiling/ 下 6 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 MD038(行内代码块与被包裹代码之间不能有空格) - benchmarks/inference/README.md:移除 --profiler_start_step 中的尾随空格 MD040(代码块指定编程语言) - tools/flight_recorder/flight_recorder.md:3 处代码块添加 bash / text - examples/libtorch_hccl/README_HCCL.md:1 处代码块添加 text MD041(首个非空行需为一级标题) - torch_npu/csrc/libs/README.md:## → # - torch_npu/_inductor/docs/feature/catlass/ 下 6 个文件:## → # MD047(文档末尾添加换行结束) - benchmarks/inference/README.md - torch_npu/_inductor/docs/troubleshooting/reporting_issues.md - torch_npu/_inductor/docs/feature/tiling/ 下 5 个文件 - torch_npu/_inductor/docs/feature/non_contiguous_accesses/ 下 1 个文件 - torch_npu/_inductor/docs/feature/catlass/ 下 6 个文件 MD051(修复无效的链路分片 / 锚点) - benchmarks/inference/README.md:将目录中的 & 替换为 and,修正标题中的锚点引用,使目录链接与标题匹配 链接有效性检查 - docs/zh/framework_feature_guide_pytorch/stream_taskqueue_parallel_delivery.md:更新了一个失效的外部链接 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41932 | 1 个月前 | |
fix: read DVM config dynamically | 19 天前 | |
fix_aoti_torch_cpu_addmm_not_declared Co-authored-by: qiaoyaodan<qiaoyaodan@huawei.com> # message auto-generated for no-merge-commit merge: !41733 merge fix_aoti_torch_cpu_addmm_not_declared into v2.7.1 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!41733 | 1 个月前 | |
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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 4 个月前 | |
[feat] 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存 Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !35444 merge codegen-7 into v2.7.1 [feat] 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存 Created-by: LiNuohang Commit-by: LiNuohang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 去掉codegen随机性,保证生成的文件内容固定,使ccache能命中缓存 # 【资料变更】 NA # 【接口变更】 NA # 【功能验证】 有缓存情况下全量编译命中率100%  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35444 | 3 个月前 | |
update_gitmodules Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !39275 merge v2.7.1 into v2.7.1 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!39275 | 2 个月前 | |
[v2.7.1][Fix] Fix static check errors detected by TABS Co-authored-by: thickhair<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !37994 merge tabs_fix_2.7.1 into v2.7.1 [v2.7.1][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!37994 | 2 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 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、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!35871 | 3 个月前 | |
| 2 年前 | ||
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url_271 into v2.7.1 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!24861 | 11 个月前 | |
【docs】Delete related materials under docs Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !43370 merge v2.7.1 into v2.7.1 【docs】Delete related materials under docs Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 删除2.7.1 docs下资料 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43370 | 1 个月前 | |
modify document Co-authored-by: m0_68000167<wangzhiyuan86@h-partners.com> # message auto-generated for no-merge-commit merge: !43841 merge v2.7.1 into v2.7.1 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!43841 | 26 天前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 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、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!35871 | 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: !40314 merge eager-dvm-v2.7.1 into v2.7.1 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!40314 | 1 个月前 | |
| 1 年前 | ||
[2.7.1][refactor]CANN ACL headers decouple Co-authored-by: Dring<17737727613@163.com> # message auto-generated for no-merge-commit merge: !36004 merge v2.7.1 into v2.7.1 [2.7.1][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!36004 | 3 个月前 | |
Static code check support python3.9 coding format. Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35052 merge v2.7.1_py39 into v2.7.1 Static code check support python3.9 coding format. 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 v2.7.1需要支持py39的代码格式,静态检查不强制切换成py310的风格。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35052 | 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: !33272 merge v2.7.1-code-check into v2.7.1 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!33272 | 4 个月前 | |
Disable CLANGTIDY and Modify pyproject.toml Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35150 merge v2.7.1_code_check into v2.7.1 Disable CLANGTIDY and Modify pyproject.toml 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 预先屏蔽CLANGTIDY、CLANGTIDY_EXECUTORCH_COMPATIBILITY。原因这两个工具需要依赖编译产物,目前现状不支持。 修改pyproject.toml中的目录为本仓目录。确保检查功能正常。test目录新增S101规则屏蔽,即测试代码允许使用assert断言语句。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35150 | 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: !35532 merge sync-pr35516-code_check_fix-to-v2.7.1 into v2.7.1 [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!35532 | 3 个月前 | |
add triton-ascend in requirements Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !35849 merge v2.7.1 into v2.7.1 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!35849 | 3 个月前 | |
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url_271 into v2.7.1 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!24861 | 11 个月前 | |
perf: defer dynamo/inductor import for v2.7.1 (#2788) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !43391 merge v2.7.1_import into v2.7.1 perf: defer dynamo/inductor import for v2.7.1 (#2788) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: # 【合入来源】 > 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/2788 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 ## 1. 背景与目标 原有 import torch_npu 会间接加载 torch._dynamo、torch._inductor 及大量子模块,增加导入耗时、内存占用和编译器初始化副作用。 本 PR 将图模式初始化从普通 import 阶段移出,同时保持公开接口的原有调用方式: - import torch_npu 不加载 torch._dynamo、torch._inductor、torch_npu._inductor。 - Dynamo、Inductor、TorchAir、NPUGraph 等能力在实际使用时初始化。 - torch.compile 的非 Inductor backend 不加载完整 NPU Inductor。 - Export、ONNX、FSDP、NPUGraph 等公开入口仍在使用前完成所需初始化。 ## 2. 拆分 Dynamo 与 Inductor 初始化 - _lazy_dynamo_setup() 负责 NPU DeviceInterface、Dynamo Variable/Stream/Event/autocast 补丁、trace rules 和 backend 注册。 - _lazy_inductor_setup() 仅在 inductor、npugraphs backend 使用时加载 torch_npu._inductor、NPU Inductor config 和 NPUGraph tree。 - 初始化使用带并发保护的 run_once,成功步骤单独记录;后续步骤失败时,已成功步骤不重复执行,失败初始化允许重试。 - torch.compile(options={"npu_backend": ...}) 在加载 NPU Inductor 前解析本次 options、全局 config 和环境变量,避免先按 default 初始化再切换 backend。 ## 3. 使用统一 Dynamo post-import 触发器 不再包装 torch.compile、torch.export.export、export_for_training、torch.onnx.export 等公开函数,避免改变公开函数对象、签名、装饰器语义,以及提前绑定接口绕过 wrapper。 import torch_npu 只安装 torch._dynamo post-import finder: - 首次导入 torch._dynamo 完成后,统一执行 _lazy_dynamo_setup()。 - 如果用户在 torch_npu 前已经导入 Dynamo,则在 import torch_npu 时补充 NPU 初始化。 - finder 委托其余 sys.meta_path finder 查找真实模块,不绕过其他自定义导入器。 - Export、ONNX Dynamo Export、compile 和提前绑定的公开入口都通过同一个 Dynamo 导入时机完成初始化。 torch.compiler.list_backends() 本身会导入 torch._dynamo,因此也会完成 NPU Dynamo 集成;该路径不会加载 NPU Inductor 或初始化 NPU 设备。三个 NPU backend 同时通过 torch_dynamo_backends entry point 暴露,首次 compile 前即可枚举: - npu - npugraph_ex - npugraphs ## 4. 公开接口和场景兼容处理 | 公开接口或场景 | 原始风险 | 当前处理 | |---|---|---| | torch.compiler.list_backends() | 首次 compile 前看不到 NPU backend | 通过 entry point 保持三个 backend 可见;调用时初始化 Dynamo,但不加载 NPU Inductor | | torch.compiler.npugraph_mark_step_begin() | 首次 compile 前接口不存在,或调用时过度加载编译器 | import 阶段暴露轻量无参接口;共享独立 step 状态,调用时不加载 Dynamo/Inductor | | torch_npu.distributed.tensor | import 阶段加载 DTensor experimental,继而传递导入 Dynamo/Inductor | tensor 子模块改为首次显式访问时导入;显式使用时继续执行原有 strategy 注册实现,不复制或修改 PyTorch register_sharding | | torch.export.export / export_for_training / export_for_inference | NPU Stream、Event、autocast 等捕获支持未初始化;提前绑定可能绕过 wrapper | 不包装公开函数,由统一 Dynamo post-import 触发;四种入口和绑定顺序均使用真实 NPU Export 验证 | | torch.onnx.export(..., dynamo=True) / torch.onnx.dynamo_export | ONNX 路径可能绕过 Export wrapper | 依赖统一 Dynamo post-import 触发;模块调用和两种提前绑定入口覆盖初始化链路 | | torch.compile(..., backend="eager"/custom/"npu") | 无条件加载完整 NPU Inductor | 只初始化 Dynamo,不加载 torch_npu._inductor | | torch.compile(..., backend="inductor"/"npugraphs") | NPU Inductor 尚未注册 | backend lookup 前完成 Dynamo 初始化,确定为 Inductor 类 backend 后再加载 NPU Inductor | | NPU DeviceInterface | 延迟导入后可能报 No interface for device npu | Dynamo 初始化时注册 npu 和 npu:0~31,Stream 接口回归通过 | | FSDP patch | import 阶段导入 FSDP 会间接加载 Dynamo | 使用 FSDP post-import patch,覆盖 torch_npu 前后两种导入顺序 | | torch_npu.npu.npugraph_ex | import torch_npu.npu 时提前加载图模式模块 | 使用模块 __getattr__ 按需导入,公开属性访问方式不变 | ## 5. DTensor 延迟导入与 NPUGraph step 状态拆分 - 不在 torch_npu 中复制 PyTorch 的 register_sharding 实现,也不改动 NPU DTensor 算子文件。普通 import torch_npu 不再主动导入 torch_npu.distributed.tensor;用户显式访问该子模块时,沿用 v2.7.1 原有初始化和 strategy 注册路径。 - MarkStepBox 和 mark_step_begin() 拆到轻量状态模块,公共 mark-step API 与完整 Graph Tree 共享计数状态,但不需要为一次标记加载完整编译器实现。 ## 6. 保留非编译器 import-time 行为 - 将不依赖 Inductor 的 RNG prim 和 decomposition patch 拆到 torch_npu/utils/_rng_prims_patch.py,普通 registry 继续执行这些基础 patch。 - torch_npu.utils._inductor 保留兼容重导出,不再承担完整 NPU Inductor 初始化。 - transfer_to_npu 在自身初始化入口显式导入实际需要修改的模块,不依赖 import torch_npu 的编译器隐式导入。 ## 7. 测试看护 新增或扩展的测试覆盖: - 普通 import torch_npu 不加载 Dynamo/Inductor,并保持公开函数对象不变。 - Dynamo 在 torch_npu 前后两种导入顺序。 - backend lookup 前完成初始化,list_backends() 可见三个 NPU backend。 - eager、自定义、npu、inductor、npugraphs backend 初始化边界。 - Export 四种公开入口/提前绑定顺序及六类 NPU 捕获语义:record_stream、Stream/Event、autocast、current device、device properties、is_available。 - ONNX 三种入口:模块 export、提前绑定 export、提前绑定旧 dynamo_export。 - FSDP 两种导入顺序。 - NPUGraph mark-step 接口签名、计数及无 compiler import。 - NPU DeviceInterface、初始化快照和既有 Stream/Event 捕获行为。 DTensor 的原有算子文件和 register_sharding 实现未修改,本 PR 不新增其实现副本或专项矩阵用例。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及客户可见接口签名变更。torch.compile、Export/ONNX 公开函数不再被 torch_npu 包装;torch_npu.distributed.tensor 的公开访问方式不变,仅从 import 阶段加载调整为首次显式访问时加载。 # 【功能验证】 在 torch-npu-build-2.7.1-py311 环境使用真实 NPU 验证: - test/dynamo/test_compile_trigger.py 覆盖 import、Dynamo 触发、compile backend、Export、ONNX、FSDP、NPUGraph 和 DeviceInterface 路径。 - test/test_torch_npu_init.py:13/13 通过。 - test/npu/test_stream.py:10/10 通过。 - test/dynamo/test_trace_stream_event.py:1/1 通过。 - 显式访问 torch_npu.distributed.tensor 后,原有 NPU strategy 注册正常。 - py_compile、git diff --check 通过。 - 验证所需临时依赖和 Conda 文件均已恢复。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43391 | 20 天前 | |
bump version to 2.7.1.post5 Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !35824 merge v2.7.1-post5 into v2.7.1 bump version to 2.7.1.post5 Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [version.txt修改](https://gitcode.com/Ascend/pytorch/issues/1976) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 社区演进 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35824 | 3 个月前 |
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版本分支的维护策略请参考TorchNPU维护周期说明。
PyTorch版本维护策略
TorchNPU版本维护策略请参考分支支持矩阵。
贡献指导
介绍如何向TorchNPU插件库贡献代码,具体请参见贡献指南。
联系我们
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交GitCode Issues,我们会尽快回复。感谢您的支持。
安全声明
TorchNPU的系统安全加固、运行用户建议和文件权限控制等内容,请参见安全声明。
免责声明
致TorchNPU插件使用者
- 本插件仅供调试和开发使用,使用者需自行承担使用风险,并理解以下内容:
- 数据处理及删除:用户在使用本插件过程中产生的数据属于用户责任范畴。建议用户在使用完毕后及时删除相关数据,以防信息泄露。
- 数据保密与传播:使用者了解并同意不得将通过本插件产生的数据随意外发或传播。对于由此产生的信息泄露、数据泄露或其他不良后果,本插件及其开发者概不负责。
- 用户输入安全性:用户需自行保证输入的命令行的安全性,并承担因输入不当而导致的任何安全风险或损失。对于输入命令行不当所导致的问题,本插件及其开发者概不负责。
- 免责声明范围:本免责声明适用于所有使用本插件的个人或实体。使用本插件即表示您同意并接受本声明的内容,并愿意承担因使用该功能而产生的风险和责任,如有异议请停止使用本插件。
- 在使用本工具之前,请谨慎阅读并理解以上免责声明的内容。对于使用本插件所产生的任何问题或疑问,请及时联系开发者。
License
TorchNPU插件的使用许可证,具体请参见LICENSE文件。
致谢
感谢来自社区的每一个PR,欢迎贡献TorchNPU插件!