作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(ci): add Docker image build system for builder and test environments Co-authored-by: w30057661<wangshusheng7@h-partners.com> # message auto-generated for no-merge-commit merge: !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 个月前 | |
[feat]devcontainer Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !40234 merge master into master [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!40234 | 1 个月前 | |
[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 个月前 | |
fix: 将 v2.7.1 上游测试触发改为每天执行 Co-authored-by: wangsike<wangsike@huawei.com> # message auto-generated for no-merge-commit merge: !39522 merge fix/cron-every-3-days into master fix: 将 v2.7.1 上游测试触发改为每天执行 Created-by: kerer-sk Commit-by: wangsike Merged-by: ascend-robot Description: ## 变更说明 将 torch-npu-v2-7-1-upstream-test-trigger.yml 的定时触发从每 2 天恢复为每天执行,提高上游测试频率以更及时地发现回归问题。 ## 变更内容 - .github/workflows/torch-npu-v2-7-1-upstream-test-trigger.yml: cron 表达式从 0 11 */2 * * 改为 0 11 * * *(每天 UTC 11:00 / 北京时间 19:00) ## 关联 Issue Fixes https://gitcode.com/Ascend/pytorch/issues/2533 See merge request: Ascend/pytorch!39522 | 1 个月前 | |
[feat] expand torchbench model list and add Super_SloMo dataset docs Co-authored-by: wangzili<wangzili14@huawei.com> # message auto-generated for no-merge-commit merge: !42181 merge master into master [feat] expand torchbench model list and add Super_SloMo dataset docs Created-by: wangzili121 Commit-by: wangzili Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 新增多个torchbench网络 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 本地验证新增网络精度性能均达标 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42181 | 1 个月前 | |
[feature] add version control decorators and version filtering for test files Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41592 merge one-track-master into master [feature] add version control decorators and version filtering for test files Created-by: thickhair Commit-by: zhoupeng 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/3004 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用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!41592 | 1 个月前 | |
[Feature]support abi configuration for libtorch_npu. | 2 年前 | |
[feat]fix torch and python versions Co-authored-by: SCh_zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !40595 merge master into master [feat]fix torch and python versions 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> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 更新分支所支持的python版本 更新dockerfile默认使用的torch包 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40595 | 1 个月前 | |
[Docs]Optimize README Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !42070 merge master-docs into master [Docs]Optimize README 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] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对首页readme进行了整改,主要改动为: 1. 头部:居中标题 + 副标题 + 语言切换 + 导航栏 + badges 2. 移除:删除过时的流水线状态、参考文档表以及多余文件 3. 新增:核心特性、最新动态、社区交流 (SIG 表)、致谢 4. 重构:安装(软件包安装 + 源码编译安装)、快速开始(初始化环境 + 运行示例) 5. 简化:安全声明、License、免责声明 6. 摘出:版本配套表、PyTorch/Python 版本表、分支维护策略、PyTorch 维护策略、硬件支持提取到单独文件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42070 | 1 个月前 | |
[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 年前 | ||
RNG lazy generator registration (port of pytorch#176753 + #176754) Co-authored-by: y30062407<handsome0324@163.com> # message auto-generated for no-merge-commit merge: !41608 merge master_rng into master RNG lazy generator registration (port of pytorch#176753 + #176754) Created-by: yangch0324 Commit-by: y30062407 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 将 PyTorch 社区 PR (惰性 generator 注册) https://github.com/pytorch/pytorch/pull/176753 (线程安全加固)https://github.com/pytorch/pytorch/pull/176754 移植到 torch_npu,实现 RNG 算子在 ACLGraph 中的自动注册、per-capture 状态隔离和并发安全。 依赖前置 PR https://gitcode.com/Ascend/pytorch/pull/41460 https://gitcode.com/Ascend/pytorch/pull/41461(per-capture RNG 状态基础设施)。 1. 合并 get_capture_state 与 init_capture_state 为单方法 前置 PR 定义了两个方法:get_capture_state(capture_id) 仅查询(未找到返回 nullptr),init_capture_state(capture_id) 创建并插入。本 PR 将二者合并为 get_capture_state(capture_id, create_if_not_found = false): - create_if_not_found = false:等价于旧 get_capture_state,仅查询 - create_if_not_found = true:首次调用时自动创建 NPUGeneratorCaptureState、分配 GPU tensor(seed + offset 各 1 个 int64)、插入 capture_states_ map GPU tensor 分配使用 NPUStreamGuard(getDefaultNPUStream()) 确保内存落在默认池而非图的捕获池,避免图内存泄漏检测误报。capture_states_ 的插入采用双重检查加锁(double-checked locking):先在持锁时判断不存在,释放锁后执行 GPU 分配,再持锁做二次检查后插入。 2. RNG 调用方改为惰性创建 increase()、set_philox_offset_per_thread()、philox_offset_per_thread()、philox_cuda_state() 四个方法原来在 capture_id 存在时调用 get_capture_state(id) 然后 TORCH_CHECK 非空——若用户未事先调用 register_generator_state() 则崩溃。改为调用 get_capture_state(id, true),首次 RNG 操作自动触发注册,无需用户干预。 3. 删除显式注册链路 - 删除 NPUGeneratorImpl::register_graph() — Generator → NPUGraph 的桥接方法 - 删除 NPUGraph::register_generator_state(const at::Generator&) — 旧的 C++ 层 Generator 重载 - capture_begin() 中删除 gen->register_graph(this) 和 gen->set_secondary_stream_capture_state(false) — 不再预先注册 default generator - capture_begin() 中删除 init_capture_state(capture_id_) 循环 — 不再为已注册 generator 预创建 capture state 上述四步删除后,generator 注册完全由首次 RNG 算子的惰性调用自动完成。 4. Python 绑定弃用 Graph.cpp 中 register_generator_state 的 Python 绑定改为 no-op,调用时输出 TORCH_WARN_DEPRECATION 提醒用户删除调用。Generator 状态在 RNG 算子首次执行时自动注册,旧 API 成为安全空操作。 5. replay_prologue 三步加锁协议 同一 generator 被多个 graph 引用时,不同 graph 可能在不同线程并发 replay。为保证 seed_ 和 philox_offset_per_thread_ 的读写原子性,replay_prologue() 采用三步加锁: - Step 1(持锁):在 capture_states_mutex_ 保护下快照 seed_、philox_offset_per_thread_,查找 capture_state - Step 2(释放锁):执行 capture_state->setup_for_replay()——GPU tensor fill 操作,不应持锁等待 GPU - Step 3(持锁):更新 philox_offset_per_thread_ += wholegraph_increment 6. get_capture_state 中 seed_ 锁内快照 在持锁时读取 seed_ 到局部变量 seed_for_init,释放锁后用快照值初始化 CaptureState。防止与 set_current_seed() 的线程竞争导致 GPU tensor 中的 seed 与 generator 当前 seed 不一致。 上下游组件关系 用户代码 │ no longer needs register_generator_state() ▼ Python API (graph.py) │ capture_begin() → no generator registration │ replay() → replay_prologue(capture_id_, inc) ▼ NPUGraph (C++ 核心) │ captured_generator_states_[state] = whole_graph_increment │ 全局 _currently_capturing_graphs[capture_id] = this ▼ NPUGeneratorState │ capture_states_: hash_map<CaptureId, CaptureState> │ ├── get_capture_state(id, true) → 惰性创建 ★NEW │ ├── capture_epilogue(id) → finalize() 返回总偏移 │ ├── replay_prologue(id, inc) → 三步加锁 ★NEW │ └── remove_capture_state(id) → 图销毁时清理 ▼ NPUGeneratorCaptureState (per-capture) │ seed_extragraph_ / offset_extragraph_ (GPU tensors) │ initialize / increase / finalize / setup_for_replay ▼ RNG Kernel (Dropout, Rand, etc.) │ philox_npu_state(increment) → get_capture_state(id, true) │ → 返回 PhiloxNpuState(seed_ptr, offset_ptr, offset) │ → kernel 通过指针读取 GPU tensor 中的最新值 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41608 | 1 个月前 | |
Update op_plugin commit id Co-authored-by: pta-robot<pta_robot@163.com> # message auto-generated for no-merge-commit merge: !42485 merge master into master Update op_plugin commit id Created-by: pta-robot Commit-by: pta-robot Merged-by: ascend-robot Description: Commited by @pta-robot at 2026-07-23 10:02:48. See merge request: Ascend/pytorch!42485 | 1 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 1 个月前 | |
RNG lazy generator registration (port of pytorch#176753 + #176754) Co-authored-by: y30062407<handsome0324@163.com> # message auto-generated for no-merge-commit merge: !41608 merge master_rng into master RNG lazy generator registration (port of pytorch#176753 + #176754) Created-by: yangch0324 Commit-by: y30062407 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 将 PyTorch 社区 PR (惰性 generator 注册) https://github.com/pytorch/pytorch/pull/176753 (线程安全加固)https://github.com/pytorch/pytorch/pull/176754 移植到 torch_npu,实现 RNG 算子在 ACLGraph 中的自动注册、per-capture 状态隔离和并发安全。 依赖前置 PR https://gitcode.com/Ascend/pytorch/pull/41460 https://gitcode.com/Ascend/pytorch/pull/41461(per-capture RNG 状态基础设施)。 1. 合并 get_capture_state 与 init_capture_state 为单方法 前置 PR 定义了两个方法:get_capture_state(capture_id) 仅查询(未找到返回 nullptr),init_capture_state(capture_id) 创建并插入。本 PR 将二者合并为 get_capture_state(capture_id, create_if_not_found = false): - create_if_not_found = false:等价于旧 get_capture_state,仅查询 - create_if_not_found = true:首次调用时自动创建 NPUGeneratorCaptureState、分配 GPU tensor(seed + offset 各 1 个 int64)、插入 capture_states_ map GPU tensor 分配使用 NPUStreamGuard(getDefaultNPUStream()) 确保内存落在默认池而非图的捕获池,避免图内存泄漏检测误报。capture_states_ 的插入采用双重检查加锁(double-checked locking):先在持锁时判断不存在,释放锁后执行 GPU 分配,再持锁做二次检查后插入。 2. RNG 调用方改为惰性创建 increase()、set_philox_offset_per_thread()、philox_offset_per_thread()、philox_cuda_state() 四个方法原来在 capture_id 存在时调用 get_capture_state(id) 然后 TORCH_CHECK 非空——若用户未事先调用 register_generator_state() 则崩溃。改为调用 get_capture_state(id, true),首次 RNG 操作自动触发注册,无需用户干预。 3. 删除显式注册链路 - 删除 NPUGeneratorImpl::register_graph() — Generator → NPUGraph 的桥接方法 - 删除 NPUGraph::register_generator_state(const at::Generator&) — 旧的 C++ 层 Generator 重载 - capture_begin() 中删除 gen->register_graph(this) 和 gen->set_secondary_stream_capture_state(false) — 不再预先注册 default generator - capture_begin() 中删除 init_capture_state(capture_id_) 循环 — 不再为已注册 generator 预创建 capture state 上述四步删除后,generator 注册完全由首次 RNG 算子的惰性调用自动完成。 4. Python 绑定弃用 Graph.cpp 中 register_generator_state 的 Python 绑定改为 no-op,调用时输出 TORCH_WARN_DEPRECATION 提醒用户删除调用。Generator 状态在 RNG 算子首次执行时自动注册,旧 API 成为安全空操作。 5. replay_prologue 三步加锁协议 同一 generator 被多个 graph 引用时,不同 graph 可能在不同线程并发 replay。为保证 seed_ 和 philox_offset_per_thread_ 的读写原子性,replay_prologue() 采用三步加锁: - Step 1(持锁):在 capture_states_mutex_ 保护下快照 seed_、philox_offset_per_thread_,查找 capture_state - Step 2(释放锁):执行 capture_state->setup_for_replay()——GPU tensor fill 操作,不应持锁等待 GPU - Step 3(持锁):更新 philox_offset_per_thread_ += wholegraph_increment 6. get_capture_state 中 seed_ 锁内快照 在持锁时读取 seed_ 到局部变量 seed_for_init,释放锁后用快照值初始化 CaptureState。防止与 set_current_seed() 的线程竞争导致 GPU tensor 中的 seed 与 generator 当前 seed 不一致。 上下游组件关系 用户代码 │ no longer needs register_generator_state() ▼ Python API (graph.py) │ capture_begin() → no generator registration │ replay() → replay_prologue(capture_id_, inc) ▼ NPUGraph (C++ 核心) │ captured_generator_states_[state] = whole_graph_increment │ 全局 _currently_capturing_graphs[capture_id] = this ▼ NPUGeneratorState │ capture_states_: hash_map<CaptureId, CaptureState> │ ├── get_capture_state(id, true) → 惰性创建 ★NEW │ ├── capture_epilogue(id) → finalize() 返回总偏移 │ ├── replay_prologue(id, inc) → 三步加锁 ★NEW │ └── remove_capture_state(id) → 图销毁时清理 ▼ NPUGeneratorCaptureState (per-capture) │ seed_extragraph_ / offset_extragraph_ (GPU tensors) │ initialize / increase / finalize / setup_for_replay ▼ RNG Kernel (Dropout, Rand, etc.) │ philox_npu_state(increment) → get_capture_state(id, true) │ → 返回 PhiloxNpuState(seed_ptr, offset_ptr, offset) │ → kernel 通过指针读取 GPU tensor 中的最新值 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41608 | 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 个月前 | |
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 个月前 | |
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 个月前 | |
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 | 2 个月前 | |
[master][Fix] Fix static check errors detected by CODESPELL Co-authored-by: thickhair<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !38552 merge code_spell_fix_master into master [master][Fix] Fix static check errors detected by CODESPELL 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!38552 | 2 个月前 | |
[feat]编译优化:链接依赖而不是编译依赖 Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !42283 merge bianyi2 into master [feat]编译优化:链接依赖而不是编译依赖 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 优化torchair,dvm编译依赖。使其可以并行编译。 改前: third_party编译阻塞: [2026-07-16 11:14:52] [3/150/1298 14.429s] Linking CXX executable third_party/Tensorpipe/tensorpipe/test/tensorpipe_test [2026-07-16 11:15:24] [2/150/1298 46.211s] Building DVM static library [2026-07-16 11:16:08] [1/150/1298 89.904s] Copy torchair python files to /home/linuohang/package/bianyi/PTA-CODE/torch_npu/build/packages/torch_npu/dynamo/torchair [2026-07-16 11:16:12] [88/238/1298 94.314s] Building CXX object CMakeFiles/torch_npu.dir/torch_npu/csrc/core/npu/GetCANNInfo.cpp.o # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 改后: third_party编译不阻塞: [2026-07-16 19:34:54] -- Build files have been written to: /home/linuohang/package/bianyi/PTA-MASTER-310/torch_npu/build [2026-07-16 19:34:54] [1:1/2 0.029s] Re-checking globbed directories... [2026-07-16 19:34:54] [88:88/1406 0.205s] Building C object third_party/Tensorpipe/tensorpipe/CMakeFiles/tensorpipe_uv.dir/__/third_party/libuv/src/strtok.c.o [2026-07-16 19:34:55] [88:89/1406 0.397s] Building C object third_party/Tensorpipe/tensorpipe/CMakeFiles/tensorpipe_uv.dir/__/third_party/libuv/src/strscpy.c.o [2026-07-16 19:34:55] [88:90/1406 0.454s] Building C object third_party/Tensorpipe/tensorpipe/CMakeFiles/tensorpipe_uv.dir/__/third_party/libuv/src/thread-common.c.o [2026-07-16 19:34:55] [88:91/1406 0.535s] Building C object third_party/Tensorpipe/tensorpipe/CMakeFiles/tensorpipe_uv.dir/__/third_party/libuv/src/threadpool.c.o # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42283 | 1 个月前 | |
[Docs]Add notes in COMPATIBILITY.md Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !42279 merge master-docs into master [Docs]Add notes in COMPATIBILITY.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能力等内容) 新增hdk的配套说明 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42279 | 1 个月前 | |
docs: update CONTRIBUTING.md with formatting fixes, AI dev guide, and docs guide Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !36351 merge master-contrib into master docs: update CONTRIBUTING.md with formatting fixes, AI dev guide, and docs guide Created-by: chenrayray Commit-by: Xinrui Chen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [#2034](https://gitcode.com/Ascend/pytorch/issues/2034) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) - 修复项目结构图中 Markdown 代码块的语言标识符 - 重新排版核心模块表,并添加 test/npu 模块条目 - 添加 AI 辅助开发章节,并附上 Ascend 代理技能链接 - 添加文档开发指南,涵盖托管、提交和持续集成检查 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,修改内容如上 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36351 | 3 个月前 | |
| 2 年前 | ||
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!24843 | 11 个月前 | |
[Docs]Optimize README Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !42070 merge master-docs into master [Docs]Optimize README 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] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对首页readme进行了整改,主要改动为: 1. 头部:居中标题 + 副标题 + 语言切换 + 导航栏 + badges 2. 移除:删除过时的流水线状态、参考文档表以及多余文件 3. 新增:核心特性、最新动态、社区交流 (SIG 表)、致谢 4. 重构:安装(软件包安装 + 源码编译安装)、快速开始(初始化环境 + 运行示例) 5. 简化:安全声明、License、免责声明 6. 摘出:版本配套表、PyTorch/Python 版本表、分支维护策略、PyTorch 维护策略、硬件支持提取到单独文件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42070 | 1 个月前 | |
[Docs]Optimize README Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !42070 merge master-docs into master [Docs]Optimize README 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] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对首页readme进行了整改,主要改动为: 1. 头部:居中标题 + 副标题 + 语言切换 + 导航栏 + badges 2. 移除:删除过时的流水线状态、参考文档表以及多余文件 3. 新增:核心特性、最新动态、社区交流 (SIG 表)、致谢 4. 重构:安装(软件包安装 + 源码编译安装)、快速开始(初始化环境 + 运行示例) 5. 简化:安全声明、License、免责声明 6. 摘出:版本配套表、PyTorch/Python 版本表、分支维护策略、PyTorch 维护策略、硬件支持提取到单独文件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42070 | 1 个月前 | |
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 个月前 | |
[Docs]Optimize README Co-authored-by: Xinrui Chen<chenxinrui11@huawei.com> # message auto-generated for no-merge-commit merge: !42070 merge master-docs into master [Docs]Optimize README 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] 重构优化 - [x] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对首页readme进行了整改,主要改动为: 1. 头部:居中标题 + 副标题 + 语言切换 + 导航栏 + badges 2. 移除:删除过时的流水线状态、参考文档表以及多余文件 3. 新增:核心特性、最新动态、社区交流 (SIG 表)、致谢 4. 重构:安装(软件包安装 + 源码编译安装)、快速开始(初始化环境 + 运行示例) 5. 简化:安全声明、License、免责声明 6. 摘出:版本配套表、PyTorch/Python 版本表、分支维护策略、PyTorch 维护策略、硬件支持提取到单独文件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42070 | 1 个月前 | |
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 个月前 | |
【bugfix】fix master aoti bug Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !40277 merge master into master 【bugfix】fix master aoti bug Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> https://gitcode.com/Ascend/pytorch/issues/2777 # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 让interface.h走原生的逻辑,包含assert_size_stride定义,原本引用torch_npu的csrc中的头文件有大量重复代码,改引用torch中的定义 同时需要修改cpp_wrapper中codegen的逻辑,该修改核心为低版本代码同步 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 llama3:  qwen2.5:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40277 | 1 个月前 | |
| 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 个月前 | |
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 个月前 | |
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 个月前 | |
compile with c++20 Co-authored-by: SCh_zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !42217 merge master into master compile with c++20 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能力等内容) 上游社区更新至使用c++20进行编译 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42217 | 1 个月前 | |
Update to v2.13.0 Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !35159 merge main_sync_20260510 into master Update to v2.13.0 Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [版本升级](https://gitcode.com/Ascend/pytorch/issues/1923) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 社区演进和版本升级 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35159 | 3 个月前 |
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策略扩展等特性。🔗 了解更多
安装
软件包安装
以安装 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 的详细步骤请参见 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')
完整的模型迁移和训练教程,请参见 TorchNPU 快速入门。
社区交流
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 插件贡献代码!