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: !41830 merge master into master 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!41830 | 1 个月前 | |
update_dockerfile_torch Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !44280 merge master into master update_dockerfile_torch 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能力等内容) 已有正式torch2.13.0与正式cann9.1.0,更新相关dockerfile配置 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44280 | 18 天前 | |
[docs]add PR notes info Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !30843 merge master into master [docs]add PR notes info Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 一是要求必须关联社区issue链接; 二是禁止填写需求链接、问题单等内部流程信息。 该修改通过直接更新模板文件生效,不涉及任何代码逻辑变更。 # 【资料变更】 PR提交模板信息补充 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30843 | 6 个月前 | |
Add CI Docker images build workflow Co-authored-by: wangqi<2801406898@qq.com> # message auto-generated for no-merge-commit merge: !43071 merge master into master Add CI Docker images build workflow Created-by: wangqi0808 Commit-by: wangqi Merged-by: ascend-robot Description: ## Summary 添加 .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!43071 | 1 个月前 | |
update qwen3 docs Co-authored-by: HandsoemLemon<zhangafei@huawei.com> # message auto-generated for no-merge-commit merge: !44981 merge master into master update qwen3 docs Created-by: HandsoemLemon Commit-by: HandsoemLemon Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/4122 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复benchmark-llm中qwen3拉起文档中缺少空格问题 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44981 | 9 天前 | |
[feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !43686 merge onetrack into master [feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Created-by: c_34 Commit-by: chenhaozhe 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/3076 - [x] 重构优化 优化onetrack后的构建逻辑 - [ ] 资料更新 将 torch_npu 包版本从读取 version.txt 改为由 TORCH_VERSION 环境变量驱动,支持多版本(含 post 号)编译, version.txt中改为多版本表达 构建过程中不再涉及修改version.txt文件,可以连续多次进行独立的版本构建。 行为变化(需关注):wheel 版本号 = get_version() 返回值 + +gitSHA(setup.py:generate_torch_npu_version,可用 BUILD_WITHOUT_SHA=1 去掉)。 - 改动前:VERSION 恒来自 version.txt(2.14.0),产物恒为 torch_npu-2.14.0+gitXXXX-...。 - 改动后:未指定 --torch= 时回退到已安装 PyTorch 版本。若装的是 dev/nightly torch(如 2.14.0.dev20260728+cpu),包版本会继承 .devYYYYMMDD 后缀,产物变为 torch_npu-2.14.0.dev20260728+gitXXXX-...,与显式 --torch=2.14.0 产出的 2.14.0+gitXXXX 命名不同。 - 发版编译建议显式指定 --torch= 以获得干净版本号。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 新增 tools/setup_helpers/version.py:get_version():优先读 TORCH_VERSION,未设置时回退到已安装的 PyTorch 版本。 2. setup.py、build_libtorch_npu.py、torchnpugen/autograd/utils.py、版本 linter 改用 get_version(),移除对 version.txt 的读取与 PathManager 校验。 3. setup.py:_get_torch_requires 剥离 .postN 后拼 torch== 依赖。 4. ci/build.sh:--torch= 经简单匹配 version.txt 校验(post 号可选,如 2.13.0 可匹配 2.13.0.post1),并 export TORCH_VERSION;不再写回 version.txt。 5. version.txt 改为支持版本清单(2.14.0 / 2.13.0.post1),供 build.sh 校验。 6. gen_version_header.py:parse_version 兼容 .postN。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已同步修改contribute # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过构建验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43686 | 20 天前 | |
[Feature]support abi configuration for libtorch_npu. | 2 年前 | |
docs: Updated the image tag in the overview to the latest version (26.1.0), while retaining the overview for the older version (26.0.0) for reference. Co-authored-by: s50057208<shiyunhan1@huawei.com> # message auto-generated for no-merge-commit merge: !43039 merge master_overview26.1.0 into master docs: Updated the image tag in the overview to the latest version (26.1.0), while retaining the overview for the older version (26.0.0) for reference. Created-by: mengmeizi05 Commit-by: s50057208 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 更新到26.1.0新版本tag 保留26.0.0老版本tag的文件 # 【资料变更】 涉及OVERVIEW的新版tag变更 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43039 | 12 天前 | |
fix: add TORCH_NPU_WARNING_DISABLE env var and deprecate TORCH_NPU_DISABLED_WARNING Co-authored-by: wanglijun55<wanglijun55@noreply.gitcode.com> Co-authored-by: wanglijun55<wanglijun54@huawei.com> # message auto-generated for no-merge-commit merge: !44647 merge feat/warning-disable-env into master fix: add TORCH_NPU_WARNING_DISABLE env var and deprecate TORCH_NPU_DISABLED_WARNING Created-by: wanglijun55 Commit-by: wanglijun55 Merged-by: ascend-robot Description: # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3989 - [x] issue/工单 # 【修改方案】 1. 新增环境变量 TORCH_NPU_WARNING_DISABLE,与现有 TORCH_NPU_DISABLED_WARNING 功能相同,均用于控制是否打印 TorchNPU 告警信息。两者指向同一代码片段。 2. 在 C++ 侧 OptionsManager::ShouldPrintWarning(torch_npu/csrc/core/npu/register/OptionsManager.cpp)与 Python 侧 _should_print_warning(torch_npu/_init/common/warning_utils.py)中,优先读取新变量 TORCH_NPU_WARNING_DISABLE;当新变量未设置而旧变量 TORCH_NPU_DISABLED_WARNING 被设置时,沿用旧变量行为,并通过 TORCH_NPU_WARN_ONCE(C++)/ warnings.warn(DeprecationWarning)(Python)打印一次弃用告警,提示用户迁移到新变量。 3. 当两者同时配置时,新变量 TORCH_NPU_WARNING_DISABLE 优先生效。 4. 文档侧:新增 TORCH_NPU_WARNING_DISABLE.md,在 TORCH_NPU_DISABLED_WARNING.md 顶部添加弃用提示,并同步更新菜单索引与环境变量列表。 # 【资料变更】 - 新增文档 docs/zh/api/environment_variable/alarm_message_printing/TORCH_NPU_WARNING_DISABLE.md - 更新文档 docs/zh/api/environment_variable/alarm_message_printing/TORCH_NPU_DISABLED_WARNING.md,顶部增加弃用提示 - 更新 docs/zh/api/environment_variable/alarm_message_printing/_menu_alarm_message_printing.md、docs/zh/api/environment_variable/_menu_environment_variable.md、docs/zh/api/environment_variable/env_variable_list.md 索引 # 【接口变更】 涉及。TORCH_NPU_DISABLED_WARNING环境变量增加废弃告警,后续用TORCH_NPU_WARNING_DISABLE代替。 # 【功能验证】 - 验证场景:分别设置 TORCH_NPU_WARNING_DISABLE=1、TORCH_NPU_DISABLED_WARNING=1、两者同时设置、均不设置四种情况下,告警打印行为符合预期。 - 验证方法: 1. export TORCH_NPU_WARNING_DISABLE=1 → 告警关闭,无弃用提示 2. export TORCH_NPU_DISABLED_WARNING=1 → 告警关闭,打印一次弃用告警,提示使用新变量 3. 同时设置两者 → 告警关闭,无弃用提示(新变量优先) 4. 均不设置 → 告警按 rank 规则正常打印 老环境变量=0,打印废弃告警;老环境变量=1,不打印  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44647 | 9 天前 | |
[master] add env config for libtorch_triton_ascend in README Co-authored-by: ffmh<fengminghao2@huawei.com> # message auto-generated for no-merge-commit merge: !38296 merge fix_triton_doc into master [master] add env config for libtorch_triton_ascend in README Created-by: ffmh Commit-by: ffmh Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 在 examples/libtorch_triton_ascend/README.md 中新增环境变量配置说明,指导用户配置 libtorch_triton_ascend 运行所需的环境变量 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 文档变更,已验证 README.md 中环境变量配置示例的正确性 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签 docs - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38296 | 2 个月前 | |
| 1 年前 | ||
fix: [910B/910_93] fall back to aclop for view tensors in format cast Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !45056 merge master-format-cast-view-fallback into master fix: [910B/910_93] fall back to aclop for view tensors in format cast Created-by: wuyouqi1 Commit-by: wuyouqi1 Merged-by: ascend-robot Description: # 【合入来源】 - [x] 问题单 # 【修改方案】 1. MaybeUseAclnnNpuFormatCast 非 aclnn-only 分支(910B/910_93)中,新增文件内 IsViewTensor 判定(张量逻辑形状 sizes 与存储 desc 的 base_sizes 不一致即为 view),将原 ND->NZ N×1 列向量窄守卫泛化为通用 sizes 守卫:view(reshape/transpose/slice)直接回退 aclop,恢复 PR 前行为。 2. 非连续 internal 守卫保持原样;同形异构 stride view(shape 一致、stride 不一致)经实测 aclnn 可正确且位级保值处理,不改变其原有路径。 3. aclnn-only(950)分支保持现状,不做未经验证的改动。 4. 回退安全性: aclop 路径尺寸由 torch_npu 侧确定性公式计算(check_size_nonnegative / GuessStorageFormat / GetMemorySize),无垃圾值输入来源。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 10×10 格式矩阵(view 场景,100 组合): 修复前 35 个 OOM 组合修复后全部回退 aclop 成功;28 个 aclnn 正常组合不受影响。 - 同形异构 stride view 修复前环境实测: 走 aclnn 正确处理,data_ptr 共享存储,数值位级一致(max_err=0),故守卫仅按 sizes 判定、不改变 stride 场景行为。 - 新增 UT(test_npu_format_cast.py Group 8,5 个用例): reshape / transpose / as_strided 三类 view,覆盖回退行为与数值正确性,适配 910B/910_93。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45056 | 9 天前 | |
Update torchair commit id Co-authored-by: pta-robot<pta_robot@163.com> # message auto-generated for no-merge-commit merge: !45016 merge master into master Update torchair commit id Created-by: pta-robot Commit-by: pta-robot Merged-by: ascend-robot Description: Commited by @pta-robot at 2026-08-20 22:03:11. See merge request: Ascend/pytorch!45016 | 10 天前 | |
[feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !43686 merge onetrack into master [feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Created-by: c_34 Commit-by: chenhaozhe 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/3076 - [x] 重构优化 优化onetrack后的构建逻辑 - [ ] 资料更新 将 torch_npu 包版本从读取 version.txt 改为由 TORCH_VERSION 环境变量驱动,支持多版本(含 post 号)编译, version.txt中改为多版本表达 构建过程中不再涉及修改version.txt文件,可以连续多次进行独立的版本构建。 行为变化(需关注):wheel 版本号 = get_version() 返回值 + +gitSHA(setup.py:generate_torch_npu_version,可用 BUILD_WITHOUT_SHA=1 去掉)。 - 改动前:VERSION 恒来自 version.txt(2.14.0),产物恒为 torch_npu-2.14.0+gitXXXX-...。 - 改动后:未指定 --torch= 时回退到已安装 PyTorch 版本。若装的是 dev/nightly torch(如 2.14.0.dev20260728+cpu),包版本会继承 .devYYYYMMDD 后缀,产物变为 torch_npu-2.14.0.dev20260728+gitXXXX-...,与显式 --torch=2.14.0 产出的 2.14.0+gitXXXX 命名不同。 - 发版编译建议显式指定 --torch= 以获得干净版本号。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 新增 tools/setup_helpers/version.py:get_version():优先读 TORCH_VERSION,未设置时回退到已安装的 PyTorch 版本。 2. setup.py、build_libtorch_npu.py、torchnpugen/autograd/utils.py、版本 linter 改用 get_version(),移除对 version.txt 的读取与 PathManager 校验。 3. setup.py:_get_torch_requires 剥离 .postN 后拼 torch== 依赖。 4. ci/build.sh:--torch= 经简单匹配 version.txt 校验(post 号可选,如 2.13.0 可匹配 2.13.0.post1),并 export TORCH_VERSION;不再写回 version.txt。 5. version.txt 改为支持版本清单(2.14.0 / 2.13.0.post1),供 build.sh 校验。 6. gen_version_header.py:parse_version 兼容 .postN。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已同步修改contribute # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过构建验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43686 | 20 天前 | |
[inductor] flexattention: disable logger in compile-mode Co-authored-by: liujm2001<liujingming7@huawei.com> # message auto-generated for no-merge-commit merge: !45049 merge master-flexattn-0819 into master [inductor] flexattention: disable logger in compile-mode Created-by: liujm2001 Commit-by: liujm2001 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/4198 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 在 flex attention metadata 的 INFO 日志条件前增加 Dynamo compile-mode 短路检查以避免日志分支进入 tracing。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及。 # 【功能验证】 功能验证通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45049 | 9 天前 | |
[fix] add new unsupport aten Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !44583 merge 814814 into master [fix] add new unsupport aten Created-by: culechan Commit-by: chenshuai Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 op仓新增了一个inductor_fallback_ops列表里的aten,这导致n_shim.h可能发生变化,因此这里显式的指定该aten是不支持的。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不影响功能变更 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44583 | 15 天前 | |
[master][Fix] Fix static check errors detected by clang-format Co-authored-by: thickhair<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !44399 merge clang-format-0812 into master [master][Fix] Fix static check errors detected by clang-format 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/3340 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复clang-format错误 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44399 | 17 天前 | |
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: !32658 merge code-check into master 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测试用例看护,并补充测试自验证截图 本地(工作区+HEAD提交)静态检查执行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32658 | 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: !32658 merge code-check into master 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测试用例看护,并补充测试自验证截图 本地(工作区+HEAD提交)静态检查执行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32658 | 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: !32658 merge code-check into master 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测试用例看护,并补充测试自验证截图 本地(工作区+HEAD提交)静态检查执行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32658 | 4 个月前 | |
[fix]fix aot inductor resource leaks Co-authored-by: LucciC<cuiliangcheng2@hisilicon.com> # message auto-generated for no-merge-commit merge: !38736 merge master into master [fix]fix aot inductor resource leaks Created-by: LucciC Commit-by: LucciC Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] 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!38736 | 2 个月前 | |
add agent_space to gitignore Co-authored-by: chujinjin<chujinjin52@huawei.com> # message auto-generated for no-merge-commit merge: !42960 merge add_agent_space_ignore into master add agent_space to gitignore Created-by: chujinjin Commit-by: chujinjin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 增加agent_space到gitignore文件,保留本地AI agent生成的一些临时文件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 无 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42960 | 1 个月前 | |
feat(_inductor): Support DVM for the master branch Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !39780 merge support-dvm-master-20260701 into master feat(_inductor): Support DVM for the master branch Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/1962 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 将 v2.10.0 分支中已验证的 DVM 相关能力迁移到 master,为 inductor 增加 DVM 后端和融合支持。 1. 引入 DVM 第三方依赖并接入构建,仅在 .gitmodules 中新增 DVM submodule,保留目标分支已有 submodule 配置。 2. 新增/迁移 DVM inductor 代码,包括 mlir_fusion、graph_fusion、DVM op emitter、decomp、codegen、工具函数和相关测试。 3. 新增 DVM C++ pybind 接口,并在 _C 初始化阶段注册 torch_npu._C.dvm 相关绑定。 4. 调整 torch_npu._inductor 后端加载逻辑,支持 npu_backend=dvm;DVM 后端复用 MLIR patch 与 codegen backend 注册流程。 5. 调整 dynamo/inductor wrapper,使 mlir 与 dvm 路径通过 NPU backend scope 生效,覆盖初始化与调用阶段。 6. 补充 DVM 相关 UT 与 public bindings 清单,覆盖后端加载、kernel、graph fusion、mlir fusion 等场景。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及 torch_npu._inductor 的后端选择能力扩展: 1. 支持通过 torch._inductor.config.npu_backend = "dvm" 选择 DVM 后端。 2. 支持通过 torch.compile(..., options={"npu_backend": "dvm"}) 选择 DVM 后端。 3. 支持通过环境变量 TORCHINDUCTOR_NPU_BACKEND=dvm 选择 DVM 后端。 4. 新增 torch_npu._C.dvm C++ pybind 绑定,供 DVM Python 侧构图与运行调用。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已完成本地静态验证: 1. git diff --check origin/master 2. 对相对 origin/master 变更的 Python 文件执行 python -m py_compile 3. 已在 PR 评论中发送 compile 触发编译流水线 新增/迁移测试覆盖: 1. DVM kernel 基础能力测试 2. DVM graph fusion 测试 3. DVM mlir fusion 测试 4. DVM public bindings 清单校验 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39780 | 1 个月前 | |
[fix] Enable partial linters Co-authored-by: thickhair<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !44341 merge static_check_0811 into master [fix] Enable partial linters 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 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 开启部分linter,目前仓内0错误 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44341 | 19 天前 | |
feat(profiler): mspti backend for torch.profiler PrivateUse1 Co-authored-by: Dmitry Gladkov<gladkov.dmitry1@huawei.com> # message auto-generated for no-merge-commit merge: !44554 merge feat/mspti-kineto-backend into master feat(profiler): mspti backend for torch.profiler PrivateUse1 Created-by: gladkov_dmitry Commit-by: Dmitry Gladkov Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] Requirement / Feature - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【Modification Scheme】 torch.profiler on Ascend collected CPU activity only. Nothing supplied device data for ProfilerActivity.PrivateUse1, so the NPU half of the timeline was empty and users had to reach for a second, incompatible profiler to see what the device did. This adds a libkineto plugin backed by mspti. NPU kernels now appear in a standard torch.profiler trace next to CPU operations, on one timeline. > PyTorch and libkineto are unchanged. The plugin registers itself through REGISTER_PRIVATEUSE1_PROFILER and is driven by libkineto through IActivityProfilerSession. > This is not torch_npu.profiler. That is a separate implementation over acl_prof with its own enums and configuration class; the two are independent front ends and can be used side by side. Files: > torch_npu/csrc/profiler/mspti_activity_profiler.{h,cpp}: the session - lifecycle, record conversion, device and stream lanes, flow emission. > torch_npu/csrc/framework/interface/MsptiInterface.{h,cpp}: wrappers over libmspti. Every symbol is resolved at runtime through FunctionLoader, so a missing or older libmspti.so gives an empty device lane rather than a link failure. > torch_npu/_init/registry/backend.py, CMakeLists.txt: registration and build. Kernels are linked back to the operations that launched them. A global RecordFunction callback pushes each operation's handle as an mspti external correlation id; mspti ties that handle to the correlation id of the launch call, which the kernel shares. processTrace turns the join into ac2g flows - the arrows a viewer draws from a CPU operation to the kernel it produced. > About three quarters of kernels link. The rest are launched outside any operation scope - allocator work, autograd internals, runtime housekeeping - and have nothing to point back to. The proportion is stable as the workload grows. > The flow tail is a PRIVATEUSE1_RUNTIME marker on the host process, mirroring CUDA where flows start on a cuda_runtime event rather than on a cpu_op. Two presentation decisions worth knowing when reading a trace: > Device operators export without an mspti:: prefix, so they read the way CUDA kernels do in a torch.profiler trace. > The NPU process takes a sort index above any real pid, so its lane renders below the CPU lane. Correlation ids on exported activities come from a private counter rather than from mspti: mspti's ids are not unique per event and collide with torch's low cpu-side ids, which would fail upstream's uniqueness check. stop() drains until records stop arriving rather than until a fixed deadline. mspti delivers asynchronously, roughly 200 ms behind execution, so a time cap truncated the tail of a recording. The loop now exits once several consecutive flushes add nothing, which captures more and returns in about 150 ms. # 【Documentation Change】 > Not involved. Behaviour and limitations are described in the module header. # 【Interface Change】 > No API signature change. Customer-visible: profiling with activities=[ProfilerActivity.CPU, ProfilerActivity.PrivateUse1] now yields NPU device kernels in the trace and in events() / key_averages(), where previously the device side was empty. Existing CPU-only behaviour is unchanged. # 【Functional Verification】 bash cd /tmp && python test/profiler/test_mspti_backend.py > 12 tests in three classes on Ascend 910B4, CANN 9.1.0, torch 2.13.0+cpu. > TestMsptiBackend: kernels reach the trace, carry type and streamId, export without the mspti:: prefix, the NPU lane sorts below the CPU lane, and every cycle of a schedule() run collects - so the backend re-arms between cycles. > TestMsptiAc2g: flows are emitted as start and finish pairs, every start has a finish, one start per operation, none points backwards in time, the ids match operations recorded by torch, the two ends land on different lanes, and the whole trace fits one timeline. > Kernel counts are never asserted in the tests: mspti delivers records asynchronously, so counts vary between runs. The assertions are structural. Trace view. Collected from bare tensor operations rather than a model, so the device lane holds a predictable set of kernels: python a = torch.randn(4096, 4096, device="npu") b = torch.randn(4096, 4096, device="npu") def phases(): with record_function("matmul"): for _ in range(5): torch.matmul(a, b) with record_function("add"): for _ in range(5): torch.add(a, b) with record_function("sum"): for _ in range(5): torch.sum(a) phases() # warm up outside profiling torch.npu.synchronize() with profile(activities=[ProfilerActivity.CPU, ProfilerActivity.PrivateUse1]) as prof: phases() torch.npu.synchronize() prof.export_chrome_trace("trace.json") Fifteen operations issued, <N> device kernels collected. 4096x4096 keeps each kernel millisecond-scale and visible. Opened at ui.perfetto.dev.  > The NPU lane sits below the CPU lane with its kernels named, against the matmul, add and sum phases above, and an ac2g arrow runs from the operation to the kernel it launched. > The flow tail is placed at the kernel's timestamp rather than the host launch time: the host clock reachable from this path has a different base. The link itself is exact; only the arrow's visual origin is approximate. > On CANN versions: only 9.1.0 is installed on the verification machine, so this was not built against an earlier CANN. The mspti dependency is resolved at runtime through FunctionLoader rather than linked, so a CANN without libmspti.so gives an empty device lane rather than a build or load failure. The kineto include added to CMakeLists.txt points at PyTorch's bundled headers, not CANN's, so it carries no CANN version dependency. # 【CheckList】 - [x] Comments complete - [x] Return-value / null-pointer checks done - [x] PR title uses type label (feat) - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44554 | 11 天前 | |
modify document Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44952 merge master into master modify document Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 修改英文readme 安装手册新增tmp目录(开发态) # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44952 | 10 天前 | |
【docs】modify document Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44240 merge master into master 【docs】modify document Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 1. 快速安装修改 2. 原生api修改 3. 版本号修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44240 | 20 天前 | |
modify document Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44952 merge master into master modify document Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 修改英文readme 安装手册新增tmp目录(开发态) # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44952 | 10 天前 | |
[feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !43686 merge onetrack into master [feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Created-by: c_34 Commit-by: chenhaozhe 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/3076 - [x] 重构优化 优化onetrack后的构建逻辑 - [ ] 资料更新 将 torch_npu 包版本从读取 version.txt 改为由 TORCH_VERSION 环境变量驱动,支持多版本(含 post 号)编译, version.txt中改为多版本表达 构建过程中不再涉及修改version.txt文件,可以连续多次进行独立的版本构建。 行为变化(需关注):wheel 版本号 = get_version() 返回值 + +gitSHA(setup.py:generate_torch_npu_version,可用 BUILD_WITHOUT_SHA=1 去掉)。 - 改动前:VERSION 恒来自 version.txt(2.14.0),产物恒为 torch_npu-2.14.0+gitXXXX-...。 - 改动后:未指定 --torch= 时回退到已安装 PyTorch 版本。若装的是 dev/nightly torch(如 2.14.0.dev20260728+cpu),包版本会继承 .devYYYYMMDD 后缀,产物变为 torch_npu-2.14.0.dev20260728+gitXXXX-...,与显式 --torch=2.14.0 产出的 2.14.0+gitXXXX 命名不同。 - 发版编译建议显式指定 --torch= 以获得干净版本号。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 新增 tools/setup_helpers/version.py:get_version():优先读 TORCH_VERSION,未设置时回退到已安装的 PyTorch 版本。 2. setup.py、build_libtorch_npu.py、torchnpugen/autograd/utils.py、版本 linter 改用 get_version(),移除对 version.txt 的读取与 PathManager 校验。 3. setup.py:_get_torch_requires 剥离 .postN 后拼 torch== 依赖。 4. ci/build.sh:--torch= 经简单匹配 version.txt 校验(post 号可选,如 2.13.0 可匹配 2.13.0.post1),并 export TORCH_VERSION;不再写回 version.txt。 5. version.txt 改为支持版本清单(2.14.0 / 2.13.0.post1),供 build.sh 校验。 6. gen_version_header.py:parse_version 兼容 .postN。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已同步修改contribute # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过构建验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43686 | 20 天前 | |
| 2 年前 | ||
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!24843 | 11 个月前 | |
【docs】 README renamed Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44960 merge master into master 【docs】 README renamed Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 readme改名 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44960 | 10 天前 | |
【docs】 README renamed Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44960 merge master into master 【docs】 README renamed Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 readme改名 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44960 | 10 天前 | |
modify document Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44952 merge master into master modify document Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 修改英文readme 安装手册新增tmp目录(开发态) # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44952 | 10 天前 | |
Release 2.13.0 Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !40367 merge feat/v2.14.0-bump into master Release 2.13.0 Created-by: wuyouqi1 Commit-by: wuyouqi1 Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [版本升级](https://gitcode.com/Ascend/pytorch/issues/1923) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 社区演进和版本升级,参考 !35503(551d971f Release 2.11.0rc1 / v2.12.0rc1),将依赖切到 2.13.0: - version.txt: 保持 2.13.0 - requirements.txt: torch==2.13.0 - test/requirements.txt: torchvision==0.28.0 # 【资料变更】 不涉及 # 【接口变更】 不涉及 See merge request: Ascend/pytorch!40367 | 1 个月前 | |
modify document Co-authored-by: lyx324521<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !44952 merge master into master modify document Created-by: lyx324521 Commit-by: lyx324521 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] 资料更新 # 【修改方案】 修改英文readme 安装手册新增tmp目录(开发态) # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44952 | 10 天前 | |
[Docs]fix SUPPORT.md Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !44245 merge master-supp into master [Docs]fix SUPPORT.md 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能力等内容) 修改分支支持说明为版本支持说明,修正日期 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 是 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44245 | 18 天前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 3 个月前 | |
[feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !43686 merge onetrack into master [feature]: update version.txt to multi version, drive package version from TORCH_VERSION env var Created-by: c_34 Commit-by: chenhaozhe 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/3076 - [x] 重构优化 优化onetrack后的构建逻辑 - [ ] 资料更新 将 torch_npu 包版本从读取 version.txt 改为由 TORCH_VERSION 环境变量驱动,支持多版本(含 post 号)编译, version.txt中改为多版本表达 构建过程中不再涉及修改version.txt文件,可以连续多次进行独立的版本构建。 行为变化(需关注):wheel 版本号 = get_version() 返回值 + +gitSHA(setup.py:generate_torch_npu_version,可用 BUILD_WITHOUT_SHA=1 去掉)。 - 改动前:VERSION 恒来自 version.txt(2.14.0),产物恒为 torch_npu-2.14.0+gitXXXX-...。 - 改动后:未指定 --torch= 时回退到已安装 PyTorch 版本。若装的是 dev/nightly torch(如 2.14.0.dev20260728+cpu),包版本会继承 .devYYYYMMDD 后缀,产物变为 torch_npu-2.14.0.dev20260728+gitXXXX-...,与显式 --torch=2.14.0 产出的 2.14.0+gitXXXX 命名不同。 - 发版编译建议显式指定 --torch= 以获得干净版本号。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 新增 tools/setup_helpers/version.py:get_version():优先读 TORCH_VERSION,未设置时回退到已安装的 PyTorch 版本。 2. setup.py、build_libtorch_npu.py、torchnpugen/autograd/utils.py、版本 linter 改用 get_version(),移除对 version.txt 的读取与 PathManager 校验。 3. setup.py:_get_torch_requires 剥离 .postN 后拼 torch== 依赖。 4. ci/build.sh:--torch= 经简单匹配 version.txt 校验(post 号可选,如 2.13.0 可匹配 2.13.0.post1),并 export TORCH_VERSION;不再写回 version.txt。 5. version.txt 改为支持版本清单(2.14.0 / 2.13.0.post1),供 build.sh 校验。 6. gen_version_header.py:parse_version 兼容 .postN。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已同步修改contribute # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过构建验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43686 | 20 天前 | |
| 1 年前 | ||
feat(c_shim): version AOTInductor NPU C shim header per torch version Co-authored-by: chz34<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !40590 merge compat/c-shim into master feat(c_shim): version AOTInductor NPU C shim header per torch version Created-by: c_34 Commit-by: chz34 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/2568 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 根据多个版本分别在不同的目录存储 c_shim_npu.h,构建过程中根据构建命令(实际参考version.txt)选择不同的版本进行校验。 构建中固定生成一份新的c_shim_npu.h文件,存放在原有的位置。 对于开发中的上游最新版本,对应版本目录缺失或者文件缺失,进行软报错,打印提示但不中断构建,用于放行上游的主动改变。 对于已经稳定的上游版本,根据对应目录进行强校验,不一致则拦截,主要控制PTA与op-plugin的内部修改。 详情参考issue内容:https://gitcode.com/Ascend/pytorch/issues/2568 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 针对现有功能的多版本兼容重构,基于现有用例进行看护 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40590 | 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: !32658 merge code-check into master 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测试用例看护,并补充测试自验证截图 本地(工作区+HEAD提交)静态检查执行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32658 | 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: !32658 merge code-check into master 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测试用例看护,并补充测试自验证截图 本地(工作区+HEAD提交)静态检查执行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32658 | 4 个月前 | |
Optimize the patch for FSDP Co-authored-by: zhenyu10<shizhenyu5@huawei.com> # message auto-generated for no-merge-commit merge: !34632 merge master into master Optimize the patch for FSDP Created-by: zhenyu10 Commit-by: zhenyu10 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 社区 issue:https://gitcode.com/Ascend/pytorch/issues/1788 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 采用“上层复用原生,下层补齐后端语义”的设计: 1. torch-npu 删除 FSDP2 collectives patch: - 不再覆写 _get_param_all_gather_inputs - 不再覆写 torch.ops.fsdp.all_gather_copy_in - 不再覆写 FSDPParamGroup.finalize_backward - fully_shard() 入口只保留 NPU 侧增强 patch,例如内存缓存和 recompute/prefetch 状态管理 2. op-plugin 在 foreach copy 算子中对齐同设备 D2D fast path: - fast path 判定显式使用 PyTorch foreach 工具函数: - at::native::can_use_fast_route(self, src) - check_tensor_dtype_support_base(src) - can_use_fast_route(self, src) 本身会检查 self/src dtype 一致,因此 dtype 不同不会进入 NPU fast path,保持当前 NPU 不支持跨 dtype fast path 的既有语义。 - 命中 fast path 时调用: cpp split_and_exec_npu_cmd_copy(self, src, /*non_blocking=*/true); 3. fallback 路径保持调用方传入语义: - 未命中 fast path 时,memcpyBatch(self, src, non_blocking) 不变 - slow path foreach_tensor_copy_list_kernel_slow_(self, src, non_blocking) 不变 - DO_COMPATIBILITY 回退仍使用原始 non_blocking # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。无新增客户可见接口;FSDP 对外使用方式不变。_foreach_copy_ 的 NPU 后端实现由 op-plugin 承接,不新增 Python 侧公开接口。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 测试场景: 1. FSDP collectives 覆写删除后,fully_shard 继续复用上游 PyTorch 原生 finalize_backward、_get_param_all_gather_inputs、all_gather_copy_in 主流程; 2. NPU 侧 _foreach_copy_ 在 op-plugin 中优先走 D2D fast path,不满足条件时回退到已有 batch copy / slow path; 3. 跨 dtype NPU D2D copy 场景在异步排队后结果正确。 测试方法: - op-plugin 用例: - python test/test_v2r1_ops/test_foreach_copy.py - python test/test_v2r2_ops/test_foreach_copy.py - torch-npu 侧建议验证 FSDP fully-shard 训练主路径,功能科通过仓内测试用例。 执行结果: - 已完成代码检查与 push hook 校验通过。 - NPU 环境 UT 结果请以当前 CI/转测执行结果为准。 UT看护: - 已适配 op-plugin foreach copy 用例,在跨 dtype copy 断言前增加 torch.npu.synchronize(),覆盖新增异步 D2D fast path 行为。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!34632 | 3 个月前 | |
Fix pyrefly\set_linter\stabel_shim_version_linter error Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35516 merge code_check_fix into master Fix pyrefly\set_linter\stabel_shim_version_linter error 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. pyrefly的检查目录调整, 2. 修复set_linter检查报错。 3. 修复stable_shim_version_linter.py检查的分支。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 pyrefly功能:  set_linter功能:  stable_shim_version功能:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35516 | 3 个月前 | |
[feat]Pin the torch dependency to the release line, not a dated nightly Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !44600 merge torch-requires-release-line into master [feat]Pin the torch dependency to the release line, not a dated nightly Created-by: c_34 Commit-by: chenhaozhe 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/2258 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. setup.py 的 _get_torch_requires() 在剥离 local tag(+cpu)和 post-release 后缀(.postN)的基础上,增加剥离 nightly 后缀(.devN)。原逻辑在以 nightly 构建时会把日期号写进 wheel 的 Requires-Dist(如 torch==2.15.0.dev20260812),该约束任何正式发布的 torch 都无法满足,导致产物只能配回那一个日期包;改后依赖只约束到发布线(torch==2.15.0)。 2. 依赖不附加 +cpu 等 local tag,即不限定 torch 的构建变体,由使用方自行选择。 3. 新增 requirements_2.15.txt,为 2.15 构建环境提供 torch pin(torch==2.15.0.dev20260812+cpu,走 nightly CPU 源),命名沿用既有 requirements_2.13.txt 的 major.minor 约定。 4. requirements.txt、requirements_2.13.txt 的 torch pin 补齐 +cpu local tag,使其明确解析到 CPU 源上的产物。注意这三个 requirements 文件仅用于搭建构建环境,setup.py 不读取它们,不影响 wheel 的依赖元数据。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 对 _get_torch_requires() 的版本推导逐形态验证,覆盖 TORCH_VERSION 显式指定与未设置(回落到环境内 torch 版本)两条路径: 包版本来源 生成的 install_requires: 2.13.0 / 2.14.0 / 2.15.0 torch==2.13.0 / torch==2.14.0 / torch==2.15.0 2.13.0.post1 torch==2.13.0 2.15.0.dev20260812 torch==2.15.0 2.15.0.dev20260812+cpu torch==2.15.0 未设 TORCH_VERSION(环境内为 2.13.0+cpu) torch==2.13.0 未新增 UT:该逻辑位于 setup.py 构建期,仓内无对应的构建脚本用例框架;上述验证为脚本化复算。完整重新出包后的 wheel 元数据核对建议由 CI 流水线覆盖。 【CheckList】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44600 | 13 天前 | |
[feat]Pin the torch dependency to the release line, not a dated nightly Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !44600 merge torch-requires-release-line into master [feat]Pin the torch dependency to the release line, not a dated nightly Created-by: c_34 Commit-by: chenhaozhe 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/2258 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. setup.py 的 _get_torch_requires() 在剥离 local tag(+cpu)和 post-release 后缀(.postN)的基础上,增加剥离 nightly 后缀(.devN)。原逻辑在以 nightly 构建时会把日期号写进 wheel 的 Requires-Dist(如 torch==2.15.0.dev20260812),该约束任何正式发布的 torch 都无法满足,导致产物只能配回那一个日期包;改后依赖只约束到发布线(torch==2.15.0)。 2. 依赖不附加 +cpu 等 local tag,即不限定 torch 的构建变体,由使用方自行选择。 3. 新增 requirements_2.15.txt,为 2.15 构建环境提供 torch pin(torch==2.15.0.dev20260812+cpu,走 nightly CPU 源),命名沿用既有 requirements_2.13.txt 的 major.minor 约定。 4. requirements.txt、requirements_2.13.txt 的 torch pin 补齐 +cpu local tag,使其明确解析到 CPU 源上的产物。注意这三个 requirements 文件仅用于搭建构建环境,setup.py 不读取它们,不影响 wheel 的依赖元数据。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 对 _get_torch_requires() 的版本推导逐形态验证,覆盖 TORCH_VERSION 显式指定与未设置(回落到环境内 torch 版本)两条路径: 包版本来源 生成的 install_requires: 2.13.0 / 2.14.0 / 2.15.0 torch==2.13.0 / torch==2.14.0 / torch==2.15.0 2.13.0.post1 torch==2.13.0 2.15.0.dev20260812 torch==2.15.0 2.15.0.dev20260812+cpu torch==2.15.0 未设 TORCH_VERSION(环境内为 2.13.0+cpu) torch==2.13.0 未新增 UT:该逻辑位于 setup.py 构建期,仓内无对应的构建脚本用例框架;上述验证为脚本化复算。完整重新出包后的 wheel 元数据核对建议由 CI 流水线覆盖。 【CheckList】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44600 | 13 天前 | |
[feat]Pin the torch dependency to the release line, not a dated nightly Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !44600 merge torch-requires-release-line into master [feat]Pin the torch dependency to the release line, not a dated nightly Created-by: c_34 Commit-by: chenhaozhe 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/2258 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. setup.py 的 _get_torch_requires() 在剥离 local tag(+cpu)和 post-release 后缀(.postN)的基础上,增加剥离 nightly 后缀(.devN)。原逻辑在以 nightly 构建时会把日期号写进 wheel 的 Requires-Dist(如 torch==2.15.0.dev20260812),该约束任何正式发布的 torch 都无法满足,导致产物只能配回那一个日期包;改后依赖只约束到发布线(torch==2.15.0)。 2. 依赖不附加 +cpu 等 local tag,即不限定 torch 的构建变体,由使用方自行选择。 3. 新增 requirements_2.15.txt,为 2.15 构建环境提供 torch pin(torch==2.15.0.dev20260812+cpu,走 nightly CPU 源),命名沿用既有 requirements_2.13.txt 的 major.minor 约定。 4. requirements.txt、requirements_2.13.txt 的 torch pin 补齐 +cpu local tag,使其明确解析到 CPU 源上的产物。注意这三个 requirements 文件仅用于搭建构建环境,setup.py 不读取它们,不影响 wheel 的依赖元数据。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 对 _get_torch_requires() 的版本推导逐形态验证,覆盖 TORCH_VERSION 显式指定与未设置(回落到环境内 torch 版本)两条路径: 包版本来源 生成的 install_requires: 2.13.0 / 2.14.0 / 2.15.0 torch==2.13.0 / torch==2.14.0 / torch==2.15.0 2.13.0.post1 torch==2.13.0 2.15.0.dev20260812 torch==2.15.0 2.15.0.dev20260812+cpu torch==2.15.0 未设 TORCH_VERSION(环境内为 2.13.0+cpu) torch==2.13.0 未新增 UT:该逻辑位于 setup.py 构建期,仓内无对应的构建脚本用例框架;上述验证为脚本化复算。完整重新出包后的 wheel 元数据核对建议由 CI 流水线覆盖。 【CheckList】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44600 | 13 天前 | |
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!24843 | 11 个月前 | |
[feat]Pin the torch dependency to the release line, not a dated nightly Co-authored-by: chenhaozhe<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !44600 merge torch-requires-release-line into master [feat]Pin the torch dependency to the release line, not a dated nightly Created-by: c_34 Commit-by: chenhaozhe 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/2258 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. setup.py 的 _get_torch_requires() 在剥离 local tag(+cpu)和 post-release 后缀(.postN)的基础上,增加剥离 nightly 后缀(.devN)。原逻辑在以 nightly 构建时会把日期号写进 wheel 的 Requires-Dist(如 torch==2.15.0.dev20260812),该约束任何正式发布的 torch 都无法满足,导致产物只能配回那一个日期包;改后依赖只约束到发布线(torch==2.15.0)。 2. 依赖不附加 +cpu 等 local tag,即不限定 torch 的构建变体,由使用方自行选择。 3. 新增 requirements_2.15.txt,为 2.15 构建环境提供 torch pin(torch==2.15.0.dev20260812+cpu,走 nightly CPU 源),命名沿用既有 requirements_2.13.txt 的 major.minor 约定。 4. requirements.txt、requirements_2.13.txt 的 torch pin 补齐 +cpu local tag,使其明确解析到 CPU 源上的产物。注意这三个 requirements 文件仅用于搭建构建环境,setup.py 不读取它们,不影响 wheel 的依赖元数据。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 对 _get_torch_requires() 的版本推导逐形态验证,覆盖 TORCH_VERSION 显式指定与未设置(回落到环境内 torch 版本)两条路径: 包版本来源 生成的 install_requires: 2.13.0 / 2.14.0 / 2.15.0 torch==2.13.0 / torch==2.14.0 / torch==2.15.0 2.13.0.post1 torch==2.13.0 2.15.0.dev20260812 torch==2.15.0 2.15.0.dev20260812+cpu torch==2.15.0 未设 TORCH_VERSION(环境内为 2.13.0+cpu) torch==2.13.0 未新增 UT:该逻辑位于 setup.py 构建期,仓内无对应的构建脚本用例框架;上述验证为脚本化复算。完整重新出包后的 wheel 元数据核对建议由 CI 流水线覆盖。 【CheckList】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44600 | 13 天前 | |
update: version.txt Co-authored-by: SCh_zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !44490 merge master into master update: version.txt 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能力等内容) torch更新至2.15 升级以支持编译 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44490 | 17 天前 |
TorchNPU
基于昇腾NPU的PyTorch适配插件
简体中文 | English
支持版本 · 安装 · 快速开始 · 版本配套 · 支持说明 · 贡献指南 · 文档 · 社区
简介
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
昇腾为基于华为昇腾 AI 处理器和软件的行业应用及服务提供全栈 AI 计算基础设施。您可以通过访问昇腾社区,了解关于昇腾的更多信息。
核心特性
TorchNPU 充分继承和复用上游 PyTorch 的大量成熟功能,并在此基础上针对昇腾 NPU 进行深度适配与优化,下图展示了 TorchNPU 的主要功能模块:
TorchNPU 主要模块介绍:
- 基础计算: 广泛支持 PyTorch 原生 API 及自定义 API,覆盖主流AI场景,提供一致性体验,支撑用户快速实现模型和算法。
- 分布式: 支持通过 FSDP2 加速分布式训练,核心计算 API 支持 Dtensor,支持 AllGather、AllReduce、AllToAll 等集合通信原语,和 Send、Recv 等点对点通信原语。
- 图模式: 通过“动态图捕获+静态图优化+高效代码生成”的方式显著加速模型训练和推理任务,并支持通过 NPUGraph 下沉执行,在 2.6.0 以上版本已支持。
- 调试调优: 支持 Profiling 分析计算、通信和内存使用,支持通过 WatchDog 实时监控分析通信异常。
- TorchNPU Core: 支持虚拟内存管理降低内存碎片,在分布式场景支持跨流内存复用优化,通过 PrivateUse1 将算子和设备资源接入 PyTorch。
最新动态
- 📢 [2026-06-30] Ascend for PyTorch 社区相关组件名称规范统一预告。🔗 了解更多
- 📢 [2026-04-30] TorchNPU 26.0.0 版本发布,新增支持 PyTorch 2.10.0,支持Python3.13, 新增P2P通信支持group下发、DTensor策略扩展等特性。🔗 了解更多
支持版本
当前分支以单一源码适配多个 PyTorch 版本,所支持的 PyTorch 版本清单声明在 version.txt 中,该文件是版本支持的唯一来源,随版本适配同步更新。
已发布软件包的版本配套关系(TorchNPU / PyTorch / CANN / Python)请参见版本配套。
安装
软件包安装
以安装 TorchNPU 2.10.0.post2 版本为例,请按照以下命令进行安装。下载其他版本的方式请参见社区下载页面 TorchNPU 下载。
安装 CANN
安装 9.0.0 版本的 CANN,具体步骤请参见 CANN 安装指南。
安装 PyTorch
执行以下命令安装 PyTorch 2.10.0:
pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cpu
安装 TorchNPU
执行以下命令安装 TorchNPU 2.10.0.post2:
pip install torch-npu==2.10.0.post2
源码编译安装
编译TorchNPU的详细步骤请参见源码安装。
快速开始
初始化环境
# 默认路径,请根据实际安装位置修改
source /usr/local/Ascend/ascend-toolkit/set_env.sh
运行示例
import torch
import torch_npu
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
z = x.mm(y)
print(z)
从 TorchNPU 2.5.1 版本起,
import torch_npu不再是强制要求(会自动注册),但建议在代码中显式导入以确保设备初始化。
输出如下类似信息说明运行成功:
tensor([[-0.0515, 0.3664],
[-0.1258, -0.5425]], device='npu:0')
完整的模型迁移和训练教程,请参见 快速入门。
社区交流
Ascend for PyTorch 社区由多个 Special Interest Groups(SIGs)组成,每个 SIG 负责特定技术领域的开发、维护和社区协作。以下是当前所有 SIG 的列表,点击对应链接可查看详细说明。
| SIG名称 | 简要描述 | 链接 |
|---|---|---|
| Core SIG | 聚焦于昇腾 NPU 平台上的 PyTorch 核心适配层开发,负责 TorchNPU 扩展库及其算子插件 OpPlugin 的设计、实现与维护。 |
🔗 了解更多 |
| Distributed SIG | 致力于在昇腾 NPU 硬件底座上,围绕 PyTorch 分布式训练框架(torch.distributed)构建高效、易用、可扩展的并行训练能力,为大语言模型、多模态模型和强化学习等场景提供极致性能体验。 | 🔗 了解更多 |
| Graph Mode SIG | 聚焦于 Dynamo、Inductor、NPUGraph等核心技术,旨在通过自动化的图捕捉与编译优化技术,弥合“易用性”与“高性能”之间的鸿沟。 | 🔗 了解更多 |
| Usability SIG | 致力于推动Ascend for PyTorch易用性体验提升,包含文档、教程、案例等。 | 🔗 了解更多 |
每个SIG都有自己的例会、邮件列表和贡献指南。点击对应的SIG链接可查看详细联系方式、工作目标及参与方式。欢迎大家为社区做贡献。如果有任何疑问或建议,请提交 GitCode Issues,我们会尽快回复。感谢您的支持。
安全声明
TorchNPU 的系统安全加固、运行用户建议和文件权限控制等内容,请参见 安全声明。
免责声明
本插件仅供调试和开发使用。使用者需自行保证输入命令行的安全性,并对使用过程中产生的数据做好权限控制。使用本插件即表示您同意并接受以上声明。
License
TorchNPU 的使用许可证,请参见 LICENSE 文件。 TorchNPU 资料文档的使用许可证,请参见 LICENSE 文件。
致谢
感谢来自社区的每一个 PR,欢迎开发者向 TorchNPU 插件贡献代码!