| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test: verify community 2.10.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36919 merge master_distributed_testcase_verify into master test: verify community 2.10.0 features and fixes Created-by: kuhn7 Commit-by: chenkun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 [【分布式】社区2.10.0版本特性和修复验证](https://gitcode.com/Ascend/pytorch/issues/2141) - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PyTorch 社区新增特性和bugfix,需要基于torch_npu进行验证,运行torch_npu或社区用例,保障功能正常运行。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36919 | 3 个月前 | |
reduce scatter support tensorlist.size != world_size Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44435 merge reduce_scatter_master into master reduce scatter support tensorlist.size != world_size Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本提案修改 torch_npu 的 ProcessGroupHCCL::reduce_scatter,使其输入支持范围与 PyTorch 社区(NCCL)保持一致。 PyTorch 2.2 的 reduce_scatter 对输入张量列表有形状/计数约束(列表长度须等于 world_size、每张量 numel 须等于输出 numel 等),2.3 起去除了这些约束。pta(torch_npu)当前的 reduce_scatter 与 PyTorch 2.2 实现一致:输入是 tensor list,包含多个 tensor,数量与卡数一致。这与社区后续版本不一致,需要兼容输入只有一个 tensor 的场景等用例,和社区保持一致。 核心改动:在 reduce_scatter 的 same_size 分支新增展平函数 flatten_for_reduce_scatter,替代原先复用的 flatten_for_scatter_gather——移除"输入张量数须等于 world_size""每张量 numel 须等于输出 numel"两条校验,保留列表长度一致与 input/output 同设备校验,并新增非空检查。Python 层 torch.distributed.reduce_scatter 签名不变。) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 1、基础功能验证:执行test_reduce_scatter.py用例  2、dtype*op*tensorshape(1D,2D)*input_tensor_list.size(==,>,< world_size)*all_input_numbel(==, >, < )all_output_numbel reduce_scatter 全耦合输入,reduce_scatter算子输出与gpu结果对比  3、性能验证,修改前后pta调用reduce_scatter,用时基本无变化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44435 | 21 天前 | |
| 2 年前 | ||
test: verify community 2.12.0 features and fixes master Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !37510 merge verify-master-v2.12.0 into master test: verify community 2.12.0 features and fixes master Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 [版本验证](https://gitcode.com/Ascend/pytorch/issues/2229) - [ ] 问题单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 社区演进,继承新接口和方法 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37510 | 3 个月前 | |
test: Since the PyTorch community's test cases do not provide full coverage, we adopt the method of adding new test cases to supplement and cover all test case scenarios. Co-authored-by: xin_heyun<919112805@qq.com> # message auto-generated for no-merge-commit merge: !42827 merge test_allreduce_hook_master into master test: Since the PyTorch community's test cases do not provide full coverage, we adopt the method of adding new test cases to supplement and cover all test case scenarios. Created-by: xin_heyun Commit-by: xin_heyun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> 社区任务issue地址:https://gitcode.com/Ascend/pytorch/issues/3129 issue分析报告地址:https://gitcode.com/Ascend/pytorch/issues/3364 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 新增 test/distributed/algorithms/ddp_comm_hooks/test_allreduce_hook.py 独立测试文件和 TestAllreduceHook 测试类。测试通过 torch.accelerator.current_accelerator() 获取设备类型,将参与运算的张量迁移到 NPU,并使用 HCCL、动态空闲端口和显式进程组清理完成分布式验证。 2. 新增 12 个测试方法,验证 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.allreduce_hook 的基础 DDP 梯度一致性、gradient_as_bucket_view、static_graph、两者组合、process_group=None、注册辅助接口、自定义子进程组和多 bucket 场景。 3. 验证 torch.float32、torch.float16、torch.bfloat16 的平均结果、shape、dtype、NPU设备和 torch._C.Future 返回契约,并覆盖 FP16 溢出边界、单 rank HCCL 正常调用以及缺少参数、空 bucket、非法进程组等异常场景。 4. 对统一启动双进程测试的 _spawn helper 应用 skipIfUnsupportMultiNPU(WORLD_SIZE)。少于两张 NPU时跳过依赖双进程的 10 个测试,继续执行单 NPU契约和异常参数测试;具备至少两张 NPU时执行全部 12 个测试,避免 rank 1 使用非法设备索引。 5. PyTorch 社区相关覆盖主要集中于 CUDA/NCCL,并包含 wrapper 和 ZeRO overlap 等组合调用。新增独立测试用于补齐 HCCL/NPU 下的输入、返回契约、边界值、组合配置、异常参数和单设备执行覆盖,为该 API 的 NPU行为提供回归保护。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。API 本身已经适配,master/docs/zh/api/native_api 目录文档已经记录,无需资料变更。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。本次仅新增测试用例,不调整 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.allreduce_hook 的实现或对外接口。 # 【功能验证】 ## v2.7.1 执行命令: bash python test/distributed/algorithms/ddp_comm_hooks/test_allreduce_hook.py -v 结果: text test_allreduce_hook ... ok test_allreduce_hook_custom_subgroup ... ok test_allreduce_hook_future_and_dtypes ... ok test_allreduce_hook_grad_is_view ... ok test_allreduce_hook_grad_is_view_static_graph ... ok test_allreduce_hook_invalid_arguments ... ok test_allreduce_hook_multiple_buckets ... ok test_allreduce_hook_none_pg ... ok test_allreduce_hook_overflow_boundary ... ok test_allreduce_hook_registration_helper ... ok test_allreduce_hook_single_npu_contract ... ok test_allreduce_hook_static_graph ... ok ---------------------------------------------------------------------- Ran 12 tests in 162.849s OK ## v2.11.0 执行命令: bash python test/distributed/algorithms/ddp_comm_hooks/test_allreduce_hook.py -v 结果: text test_allreduce_hook ... ok test_allreduce_hook_custom_subgroup ... ok test_allreduce_hook_future_and_dtypes ... ok test_allreduce_hook_grad_is_view ... ok test_allreduce_hook_grad_is_view_static_graph ... ok test_allreduce_hook_invalid_arguments ... ok test_allreduce_hook_multiple_buckets ... ok test_allreduce_hook_none_pg ... ok test_allreduce_hook_overflow_boundary ... ok test_allreduce_hook_registration_helper ... ok test_allreduce_hook_single_npu_contract ... ok test_allreduce_hook_static_graph ... ok ---------------------------------------------------------------------- Ran 12 tests in 163.894s OK ## v2.12.0 执行命令: bash python test/distributed/algorithms/ddp_comm_hooks/test_allreduce_hook.py -v 结果: text test_allreduce_hook ... ok test_allreduce_hook_custom_subgroup ... ok test_allreduce_hook_future_and_dtypes ... ok test_allreduce_hook_grad_is_view ... ok test_allreduce_hook_grad_is_view_static_graph ... ok test_allreduce_hook_invalid_arguments ... ok test_allreduce_hook_multiple_buckets ... ok test_allreduce_hook_none_pg ... ok test_allreduce_hook_overflow_boundary ... ok test_allreduce_hook_registration_helper ... ok test_allreduce_hook_single_npu_contract ... ok test_allreduce_hook_static_graph ... ok ---------------------------------------------------------------------- Ran 12 tests in 163.101s OK ## master 执行命令: bash python test/distributed/algorithms/ddp_comm_hooks/test_allreduce_hook.py -v 结果: text test_allreduce_hook ... ok test_allreduce_hook_custom_subgroup ... ok test_allreduce_hook_future_and_dtypes ... ok test_allreduce_hook_grad_is_view ... ok test_allreduce_hook_grad_is_view_static_graph ... ok test_allreduce_hook_invalid_arguments ... ok test_allreduce_hook_multiple_buckets ... ok test_allreduce_hook_none_pg ... ok test_allreduce_hook_overflow_boundary ... ok test_allreduce_hook_registration_helper ... ok test_allreduce_hook_single_npu_contract ... ok test_allreduce_hook_static_graph ... ok ---------------------------------------------------------------------- Ran 12 tests in 148.368s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42827 | 1 个月前 | |
[master] test: add test cases for _StoragePrefix Co-authored-by: huowentan<3294682143@qq.com> # message auto-generated for no-merge-commit merge: !42901 merge api-storage-prefix-master into master [master] test: add test cases for _StoragePrefix Created-by: 2501_93637465 Commit-by: huowentan Merged-by: ascend-robot Description: # 【合入来源】 任务来源:https://gitcode.com/Ascend/pytorch/issues/3147 关联 Issue:https://gitcode.com/Ascend/pytorch/issues/3147 Fixes #3147 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 API: torch.distributed.checkpoint.filesystem._StoragePrefix 目标分支:master # 【修改方案】 经检索,PyTorch 社区现有用例缺少对 torch.distributed.checkpoint.filesystem._StoragePrefix 的独立、充分验证,因此新增测试文件: test/distributed/checkpoint/test_storage_prefix.py 测试覆盖: - 基本 prefix 构造; - 空字符串、长路径和数字字符串; - 特殊字符与 Unicode; - prefix 属性访问和修改; - 相同及不同 prefix 的相等性判断; - 与非 _StoragePrefix 对象比较; - repr、fields 和 asdict; - metadata 场景使用; - None 和缺少必选参数等边界场景。 该 API 是用于保存 checkpoint 存储前缀的 dataclass,仅处理字符串, 不涉及 Tensor、device 或 NPU 计算,因此无需进行 NPU 适配。 # 【资料变更】 torch.distributed.checkpoint.filesystem._StoragePrefix 是 PyTorch 私有接口。 根据 API 一致性任务指南,私有接口无需补充 docs/zh/api/native_api 支持资料,因此本 PR 不涉及资料变更。 # 【接口变更】 不涉及接口定义或功能实现变更,仅新增 API 一致性测试。 # 【功能验证】 | 测试项 | 结果 | | --- | --- | | test/distributed/checkpoint/test_storage_prefix.py | PASS | | 15 个测试用例 | PASS | | python -m py_compile | PASS | | git diff --check | PASS | | PR CI 流水线 | PASS | 测试结果: text ---------------------------------------------------------------------- Ran 15 tests OK # 【CheckList】 - [x] 使用完整 API 名称 - [x] 新增文件包含 Huawei copyright - [x] 新增文件包含模块 docstring - [x] 使用 TestCase、run_tests 和 self.assert* - [x] 不包含 print、try-except 或 import torch_npu - [x] 当前分支仅包含一个提交 - [x] CLA 和 CI 检查通过 See merge request: Ascend/pytorch!42901 | 19 天前 | |
test: add put_metric coverage Co-authored-by: lgxxx<22515063@zju.edu.cn> # message auto-generated for no-merge-commit merge: !42810 merge test-put-metric-master into master test: add put_metric coverage Created-by: lgxxx Commit-by: lgxxx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3216 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ## API 与交付结论 - API: torch.distributed.elastic.metrics.put_metric。 - 分类:1.3。PyTorch 官方没有直接验证 put_metric 处理结果的测试。 - 交付方式:扩展 torch-npu 现有 test/distributed/elastic/metrics/test_metrics_api.py。 - API 实现:不修改。 - test_upstream patch:不涉及。 - NPU 适配:不需要设备装饰器或 NPU Tensor。put_metric 是纯 Python、非计算类指标接口。 - 资料 PR:不涉及。2.7.1、2.9.0、2.10.0、2.11.0、2.12.0 条目均已存在且支持状态为“是,暂不支持 Ascend 950DT”。 ## 分支 | 目标分支 | Fork 源分支 | | --- | --- | | v2.7.1 | test-put-metric-v2.7.1 | | v2.11.0 | test-put-metric-v2.11.0 | | v2.12.0 | test-put-metric-v2.12.0 | | master | test-put-metric-master | PR 源仓库为 lgxxx/pytorch,目标仓库为 Ascend/pytorch,目标分支必须与上表一一对应。 任务书 Issue:Ascend/pytorch#3216。四个目标分支的 PR 均关联该 Issue。 ## 官方用例调查 PyTorch 官方存在 test/distributed/elastic/metrics/api_test.py,但现有用例只覆盖 MetricHandler、MetricStream、prof 等行为,没有直接调用并验证 put_metric 的处理器结果。 另有 test/distributed/elastic/agent/server/test/api.py 通过 mock 间接验证 put_metric 被调用,但不验证其默认 metric_group、自定义 metric_group、metric_name、metric_value 或实际 MetricData。 因此需要在 torch-npu 现有 metrics 测试文件中新增直接行为用例,属于场景 1.3。 ## 修改内容 新增 test_put_metric,覆盖: 1. 不传 metric_group 时使用默认 torchelastic 组。 2. 传入 custom_group 时使用自定义处理器。 3. 非空 metric_name 和空 metric_name。 4. 正值、0 和负值 metric_value。 5. handler 实际收到 MetricData,验证 group_name、name、value 和 timestamp。 6. 依赖现有 setUp/addCleanup 恢复全局默认 handler 和 metrics map。 7. 按新增用例规范补充 Huawei copyright,并在文件说明中列出 put_metric。 put_metric 的官方实现只将参数转交给 metric stream,不进行运行时类型校验,因此没有人为增加与官方行为不一致的类型异常断言。 修改文件: test/distributed/elastic/metrics/test_metrics_api.py # 【资料变更】 已检查 master 分支下以下资料条目: docs/zh/api/native_api/pytorch_2-7-1/torch-distributed-elastic.md docs/zh/api/native_api/pytorch_2-9-0/torch-distributed-elastic.md docs/zh/api/native_api/pytorch_2-10-0/torch-distributed-elastic.md docs/zh/api/native_api/pytorch_2-11-0/torch-distributed-elastic.md docs/zh/api/native_api/pytorch_2-12-0/torch-distributed-elastic.md 五个版本均已有 torch.distributed.elastic.metrics.put_metric 条目,支持状态一致为“是,暂不支持 Ascend 950DT”,因此不创建资料 PR。该 API 为非计算类接口,资料中不涉及数据类型支持。 # 【接口变更】 不涉及。本次不修改 PyTorch API 实现、函数签名、返回类型或跨仓接口,只新增直接测试覆盖。 # 【功能验证】 ## 本地验证环境 - 主机平台:Linux-5.10.0-216.0.0.115.oe2203sp4.aarch64-aarch64-with-glibc2.35 - Python:3.11.15 - CANN:9.1.0.beta1 - NPU:Ascend910_9382 - 可见设备数:1(物理 NPU 0) - v2.7.1:torch 2.7.1+cpu,torch-npu 2.7.1.post4 - v2.11.0:torch 2.11.0+cu130,torch-npu 2.11.0rc1 - v2.12.0:torch 2.12.0+cu130,torch-npu 2.12.0.rc1 - master:测试源码来自 master,本地复用 v2.12.0 运行环境进行兼容性预验证;目标分支验证以 PR CI 结果为准。 - 设备说明:API 为纯 Python,测试不创建 Tensor,不需要强制迁移到 NPU;运行器仍在 NPU 环境中完成导入和环境探测。 ## 执行命令 bash /workspace/user_data/tasks/scripts/run_api_python_version.sh 2.7.1 /workspace/user_data/tasks/sources/torch-npu-v2.7.1/test/distributed/elastic/metrics/test_metrics_api.py -v /workspace/user_data/tasks/scripts/run_api_python_version.sh 2.11.0 /workspace/user_data/tasks/sources/torch-npu-v2.11.0/test/distributed/elastic/metrics/test_metrics_api.py -v /workspace/user_data/tasks/scripts/run_api_python_version.sh 2.12.0 /workspace/user_data/tasks/sources/torch-npu-v2.12.0/test/distributed/elastic/metrics/test_metrics_api.py -v /workspace/user_data/tasks/scripts/run_api_python_version.sh master /workspace/user_data/tasks/sources/torch-npu-master/test/distributed/elastic/metrics/test_metrics_api.py -v ## 本地验证结果 | 目标分支 | 测试结果 | | --- | --- | | v2.7.1 | Ran 7 tests in 0.054s,OK,退出码 0 | | v2.11.0 | Ran 7 tests in 0.052s,OK,退出码 0 | | v2.12.0 | Ran 7 tests in 0.086s,OK,退出码 0 | | master | master 测试源码在 v2.12.0 环境中兼容性预验证通过,Ran 7 tests in 0.086s,OK;目标分支 CI 通过 | v2.12.0 及 master 源码兼容性预验证中有 CuTeDSL 可选依赖缺失提示;该提示与纯 Python metrics 测试无关,未影响测试结果或退出码。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR 标题正确使用 test: 类型标签 - [x] PR 持续集成流水线(CI)执行通过,代码检查无异常 <!-- api-validation-evidence:start --> ## NPU 功能验证补充 以下为当前 PR head commit 对应的单卡 NPU 实测环境、命令和结果: text TASK 105 / PR #42810 / VALIDATION EVIDENCE API=torch.distributed.elastic.metrics.put_metric TARGET_BRANCH=master VALIDATION_SCOPE=master source with v2.12.0 runtime PLATFORM=Linux-5.10.0-216.0.0.115.oe2203sp4.aarch64-aarch64-with-glibc2.35 PYTHON=3.11.15 TORCH=2.12.0+cu130 TORCH_NPU=2.12.0.rc1 CANN=9.1.0.beta1 NPU=Ascend910_9382 VISIBLE_NPU=1 (PHYSICAL NPU 0) COMMAND=scripts/run_api_python_version.sh master sources/torch-npu-master/test/distributed/elastic/metrics/test_metrics_api.py -v RESULT: Ran 7 tests in 0.086s OK test_exit_code=0 NOTE=compatibility pre-validation; pure Python API; master target branch PR CI passed > 说明:put_metric 是纯 Python、非计算类接口,测试不创建 Tensor;master 测试源码在 v2.12.0 运行环境中完成兼容性预验证,目标分支 CI 已通过。 <!-- api-validation-evidence:end --> <!-- PR描述模板更新日期:20260203 --> See merge request: Ascend/pytorch!42810 | 25 天前 | |
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 个月前 | |
| 1 年前 | ||
fix: re-enable test_schedule_multiproc by widening HCCL port range and fixing STATIC-mode grad setup Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !44891 merge fix_test_schedule_multiproc_2.13 into master fix: re-enable test_schedule_multiproc by widening HCCL port range and fixing STATIC-mode grad setup Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 2.13版本的pp手动重构了pipelineStage的数据路径,开始信任示例张量的 requires_grad:,去除了早期版本的 2.7 / 2.11 的手动 _create_grad_recv_info 只要输出发往下一级就无条件分配梯度接收缓冲,并在 has_backward 时无条件把激活接收缓冲 requires_grad_,示例张量的 requires_grad 从未被查阅,所以 no_grad 产出的 requires_grad=False 完全正确的。 2. 修改方案是:新增了 _mark_trainable 修正 requires_grad(核心):对 float 型示例张量标记 requires_grad=True,镜像库自身的规则 has_backward and is_floating_point(),让 STATIC 元数据反映训练真实意图 3. 对齐官方社区的用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44891 | 17 天前 | |
[master][bugfix]cann and pta header mixing bulid bugfix Co-authored-by: Dring<17737727613@163.com> # message auto-generated for no-merge-commit merge: !44990 merge master into master [master][bugfix]cann and pta header mixing bulid bugfix Created-by: Dring Commit-by: Dring Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/3991 - [✕ ] 需求 - [ ✓] 问题单 - [ ✓] issue/工单 - [ ✓] 重构优化 - [✕ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 问题现象: PTA 26.1.0 仓库中的 third_party/acl 头文件来自 CANN 9.1.0,而编译环境安装的是 CANN 9.0.0。当同一个编译单元同时包含两套版本的 ACL 头文件时,会出现类似以下错误:aclmdlRITask 未声明、未定义或类型不匹配 aclmdlRITask 是 CANN 9.1.0 头文件所依赖的定义,但 CANN 9.0.0 对应头文件中不存在该定义或定义不兼容。 根因分析: 1 当前头文件查找路径不统一:PTA 源码中大量使用以下写法 #include "third_party/acl/inc/acl/acl_mdl.h" 因为编译命令中包含 PTA 项目根目录,这种写法会直接命中 PTA 26.1.0 仓库内由 CANN 9.1.0 导入的头文件:torch_npu/third_party/acl/inc/acl/acl_mdl.h 但该头文件内部使用的是标准 SDK 相对路径:#include "acl/acl_base.h" 编译器无法相对 acl_mdl.h 所在目录找到 acl/acl_base.h,因此转而按照全部 -I 目录依次搜索。如果 CANN 9.0.0 的 include 路径排在 PTA 内置 ACL 路径前面,就会命中:CANN-9.0.0/include/acl/acl_base.h 同一个翻译单元最终形成: acl_mdl.h -> PTA third_party 中的 CANN 9.1.0 版本 acl_base.h -> 环境 CANN 9.0.0 版本 这是一种“首层头文件由源码路径固定版本、传递头文件由 -I 顺序选择版本”的混合查找模式。 2 问题不局限于 acl_mdl.h 同样风险存在于所有能够继续 include 其他 CANN 头文件的入口,包括: acl/... aml/... profiling/... graph/... ge/... op_proto/... 因此不能只修复出现错误的某一个头文件,也不能只替换 acl_mdl.h。必须统一整个 CANN 头文件族的查找规则。 修改目标: 修改后需要满足 源码不再包含 third_party/acl/inc/... 这种仓库物理路径。 ACL、AML、profiling 等头文件全部通过统一 include root 查找。 一个编译 target 对 CANN 头文件只选择一套版本。 CANN 9.0.0 环境构建时,首层和传递头文件必须全部命中 CANN 9.0.0。 使用 PTA 内置头文件构建时,首层和传递头文件必须全部命中 PTA 内置的同一套版本。 wheel、libtorch_npu、C++ Extension 和 Inductor/AOT 使用同一目录契约 修改方案: 1、代码中使用 PTA 内置 ACL 头文件的地方,删除 third_party/acl/inc/ 物理路径前缀,统一改成从 include root 查找 2、打包或安装时,把 third_party/acl/inc 下需要公开的目录按原相对结构复制到安装产物的公共 include 根目录 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 cann 9.0.0 + pta 26.1.0的vllm-ascend安装验证成功  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [✓ ] 代码注释完备,正确记录错误日志 - [✕ ] 代码实现进行了返回值、空指针等校验 - [✓ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [✓ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44990 | 10 天前 | |
[feat]support shmemput/get Co-authored-by: pengqi<pengqi33@huawei.com> # message auto-generated for no-merge-commit merge: !36241 merge master_symm into master [feat]support shmemput/get Created-by: pengqihw Commit-by: pengqihw;pengqi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.SHMEM put/get 功能支持(对齐上游 NVSHMEM 后端实现方式) - NPUSHMEMInterface.h :Shmem_putmem_on_stream / Shmem_getmem_on_stream 声明 - NPUSHMEMInterface.cpp : aclshmemx_putmem_on_stream / aclshmemx_getmem_on_stream 动态加载 - NPUSHMEMExtension.cpp : nvshmem_put / nvshmem_get 接口实现和注册,使用 on_stream 接口并传入 c10_npu::getCurrentNPUStream() - shmem_host_def.h:同步shmem库的结构体更新 - test_shmem.py: get/put测试用例 2. 线程安全保护(同步上游 commit 4ae3a4e) - NPUSHMEMSymmetricMemory.hpp :添加 #include <mutex> , NPUSHMEMSymmetricMemoryAllocator 新增 std::mutex mutex_ - NPUSHMEMSymmetricMemory.cpp : alloc() 、 free() 、 get_alloc_size() 、 rendezvous() 四个方法中对 allocations_ 和 symm_mems_ 的访问加 std::lock_guard<std::mutex> 保护 # 【资料变更】 不涉及 # 【接口变更】 不涉及 PyTorch 上游已提供了对称内存的抽象框架,并定义了 nvshmem_put / nvshmem_get 算子接口。 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36241 | 3 个月前 | |
【bugfix】hcclwatchdog save status Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !44731 merge processgrouphccl_master into master 【bugfix】hcclwatchdog save status Created-by: xiaoqi-zhou Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue:https://gitcode.com/Ascend/pytorch/issues/3334 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.状态保存是辅助功能不抛异常仅打印详细日志,支持嵌套创建目录。 2.加锁全局进行写入时,锁改成全局变量;写入时先写入tmp文件,写入成功后再改成正式文件;未防止Hash扩容导致读取脏数据,读取存数据变量的深拷贝变量。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 本地自验证通过: python集成测试:  C++单例测试:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44731 | 20 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
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 个月前 | |
[test]fix _test_alltoall_2p_size test_mgr.load Co-authored-by: ACAES<liuyan7892@163.com> # message auto-generated for no-merge-commit merge: !32457 merge master into master [test]fix _test_alltoall_2p_size test_mgr.load Created-by: AACAES Commit-by: ACAES Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. ci只提交分布式用例文件时,会被跳过导致ci跑不到,删除对应逻辑 2. https://gitcode.com/Ascend/pytorch/pull/31821 allow_internal_format默认值被改为False,_test_alltoall_2p_size 用例需手动设为True # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本pr只修一个分布式用例,ci跑到了  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32457 | 5 个月前 | |
skip sub-comm creation when global process group was reinit'd and fix p2p longname err Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !38998 merge comm_p2p_master into master skip sub-comm creation when global process group was reinit'd and fix p2p longname err Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 HCCLUdi在rootinfo场景下的P2P通信中,被覆盖为groupname,导致hccl算子拼接后hcclUdi和hcclCommname后,字符超长,拼接后名字:groupbfa08d29a349dccf55aaf7ea17c96695164d8ba6_p2p_0_1_groupbfa08d29a349dccf55aaf7ea17c96695164d8ba6_p2p_0_1 修复方案:Udi仅在rankfiletable场景下,被覆盖为groupname # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ut用例通过:  pp并行时,正常拉起训练  Udi正常更新:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38998 | 2 个月前 | |
在A5环境上输入数据类型是int类型时调用tensor.div_加rounding_mode=trunc;在A5环境跳过ND->NC1HWC0格式的转换。 Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !41481 merge npu_format_cast_master into master 在A5环境上输入数据类型是int类型时调用tensor.div_加rounding_mode=trunc;在A5环境跳过ND->NC1HWC0格式的转换。 Created-by: xiaoqi-zhou Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue:https://gitcode.com/Ascend/pytorch/issues/2827 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. aclnnNpuFormatCastCalculateSizeAndFormat不支持在A5环境上数据从ND->NC1HWC0格式的转换,需要在A5环境跳过执行这样格式转换的用例。 2. aclnnInplaceDivs在A5环境上不支持输入为int类型的数据除以一个scalar类型的数据,需要在调用tensor.div的位置加上rounding_mode='trunc' # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41481 | 1 个月前 | |
在A5环境上输入数据类型是int类型时调用tensor.div_加rounding_mode=trunc;在A5环境跳过ND->NC1HWC0格式的转换。 Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !41481 merge npu_format_cast_master into master 在A5环境上输入数据类型是int类型时调用tensor.div_加rounding_mode=trunc;在A5环境跳过ND->NC1HWC0格式的转换。 Created-by: xiaoqi-zhou Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue:https://gitcode.com/Ascend/pytorch/issues/2827 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. aclnnNpuFormatCastCalculateSizeAndFormat不支持在A5环境上数据从ND->NC1HWC0格式的转换,需要在A5环境跳过执行这样格式转换的用例。 2. aclnnInplaceDivs在A5环境上不支持输入为int类型的数据除以一个scalar类型的数据,需要在调用tensor.div的位置加上rounding_mode='trunc' # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41481 | 1 个月前 | |
在A5上面跳过test_allgather_into_tensor.py中的两个用例 Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !38900 merge npu_format_cast_master into master 在A5上面跳过test_allgather_into_tensor.py中的两个用例 Created-by: xiaoqi-zhou Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue:https://gitcode.com/Ascend/pytorch/issues/2437 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 test_all_gather_into_tensor_dist和test_all_gather_into_tensor_uneven_dist调用了torch_npu.npu_format_cast接口,里面调用了aclnnNpuFormatCastCalculateSizeAndFormat算子,在文档上已说明A5不支持ND->NC1HWC0的转换,这两个用例需要在A5上面跳过执行。 aclnnNpuFormatCastCalculateSizeAndFormat接口文档: srcTensor srcTensor数据格式 dstFormat additionalDtype actualFormat INT8 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_INT8(2) ACL_FORMAT_FRACTAL_NZ(29) INT32 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT16(1)、ACL_BF16(27) ACL_FORMAT_FRACTAL_NZ_C0_16(50) FLOAT ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT16(1)、ACL_BF16(27) ACL_FORMAT_FRACTAL_NZ_C0_16(50) FLOAT ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT8_E4M3FN(36) ACL_FORMAT_FRACTAL_NZ_C0_32(51) FLOAT16 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT16(1) ACL_FORMAT_FRACTAL_NZ(29) BFLOAT16 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_BF16(27) ACL_FORMAT_FRACTAL_NZ(29) FLOAT8_E4M3FN ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT8_E4M3FN(36) ACL_FORMAT_FRACTAL_NZ(29) FLOAT4_E2M1 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT8_E4M3FN(36) ACL_FORMAT_FRACTAL_NZ(29) FLOAT4_E2M1 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT4_E2M1(40) ACL_FORMAT_FRACTAL_NZ(29) FLOAT4_E1M2 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) ACL_FLOAT4_E1M2(41) ACL_FORMAT_FRACTAL_NZ(29) HIFLOAT8 ACL_FORMAT_ND(2) ACL_FORMAT_FRACTAL_NZ(29) HIFLOAT8(34) ACL_FORMAT_FRACTAL_NZ(29) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 本地测试用例跑通:   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38900 | 2 个月前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44701 merge reduce_support_more_dtype_master into master A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA reduce相关算子在processgrouphccl.cpp中有数据类型的校验,暂时未包含hccl A5新支持的数据类型uint64和fp64: 修改processgrouphccl.cpp中的数据校验函数,针对A5添加支持的数据类型uint64和fp64: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44701 | 18 天前 | |
| 2 年前 | ||
| 2 年前 | ||
skip sub-comm creation when global process group was reinit'd and fix p2p longname err Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !38998 merge comm_p2p_master into master skip sub-comm creation when global process group was reinit'd and fix p2p longname err Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 HCCLUdi在rootinfo场景下的P2P通信中,被覆盖为groupname,导致hccl算子拼接后hcclUdi和hcclCommname后,字符超长,拼接后名字:groupbfa08d29a349dccf55aaf7ea17c96695164d8ba6_p2p_0_1_groupbfa08d29a349dccf55aaf7ea17c96695164d8ba6_p2p_0_1 修复方案:Udi仅在rankfiletable场景下,被覆盖为groupname # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ut用例通过:  pp并行时,正常拉起训练  Udi正常更新:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38998 | 2 个月前 | |
test: add Backend.Options API coverage Co-authored-by: nannan-2026<1794949109@qq.com> # message auto-generated for no-merge-commit merge: !43165 merge test-backend-options-master into master test: add Backend.Options API coverage Created-by: nannan-2026 Commit-by: nannan-2026 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/3207 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 为 PyTorch 原生 API 一致性测试补齐,不修改目标 API 的功能实现。 目标 API: python torch._C._distributed_c10d.Backend.Options 新增测试文件: text test/distributed/test_backend_options.py ## 1. API 功能说明 Backend.Options 是 PyTorch 分布式通信后端 Options 的基础配置类。 构造形式为: python Backend.Options(backend, timeout=default_timeout) 其中: 1. backend 为必选参数,表示通信后端名称; 2. timeout 为可选参数,类型为 datetime.timedelta; 3. backend 为只读属性; 4. _timeout 为可读写属性; 5. 当前 master 对应的 PyTorch 2.13.0 还包含 global_ranks_in_group 和 group_name 两个可读写属性。 ## 2. PyTorch 上游用例分析 已检查 PyTorch 官方社区测试代码。 上游存在部分间接相关使用,例如: 1. 具体分布式后端 Options 类继承相关基础配置; 2. DeviceMesh 或 ProcessGroup 测试中使用后端 Options; 3. 部分测试验证具体后端的 Options,例如 ProcessGroupNCCL.Options。 但是,未发现针对以下精确 API 的直接、完整 Python 行为测试: python torch._C._distributed_c10d.Backend.Options 现有社区测试未充分覆盖: 1. backend 必选参数; 2. timeout 默认值、位置参数和关键字参数; 3. 空字符串、零超时和负超时; 4. backend 只读行为; 5. _timeout 可写行为; 6. 不同实例之间的状态独立性; 7. global_ranks_in_group 的默认值和读写行为; 8. group_name 的默认值和读写行为; 9. 缺少参数、多余参数和非法参数类型; 10. _timeout 非法赋值后的异常行为。 因此,本 PR 在 Torch-NPU test 目录中新增独立专项测试。 ## 3. 修改内容 新增测试类: python TestBackendOptions 共新增 6 个测试方法: ### 3.1 test_init_with_default_and_explicit_timeout 验证: - 只传入 backend 时的默认构造; - 返回对象类型; - 默认 _timeout 为 30 分钟; - timeout 支持位置参数; - timeout 支持关键字参数; - 构造后的属性值与输入一致。 ### 3.2 test_init_with_boundary_values 验证: - 空字符串 backend; - 零超时; - 负超时; - 边界值构造后的属性值。 ### 3.3 test_group_metadata_properties 验证: - global_ranks_in_group 默认值为空列表; - group_name 默认值为空字符串; - 两个属性均支持赋值; - 赋值后读取结果与设置值一致。 ### 3.4 test_property_access_and_instance_independence 验证: - backend 为只读属性; - 对 backend 赋值时抛出 AttributeError; - _timeout 支持修改; - 修改一个实例不影响另一个实例; - 不同构造调用产生独立对象。 ### 3.5 test_invalid_constructor_arguments 验证: - 缺少必选参数; - 非法 backend 类型; - 非法 timeout 类型; - 多余位置参数; - 未定义关键字参数。 ### 3.6 test_invalid_timeout_assignment 验证: - _timeout 写入非法类型时抛出 TypeError; - 异常赋值后原有 _timeout 值保持不变。 ## 4. 测试实现规范 测试符合以下要求: 1. 使用 TestCase 和 run_tests; 2. 使用 self.assert* 验证结果; 3. 使用 self.assertRaises 验证异常; 4. 未使用 try-except 屏蔽测试失败; 5. 未添加与测试无关的输出; 6. 新增文件包含 Huawei Copyright; 7. 新增文件包含 BSD 3-Clause License; 8. 新增文件包含英文模块用途说明; 9. 本 PR 只新增 test/distributed/test_backend_options.py。 ## 5. 各版本差异说明 各分支测试内容根据对应 PyTorch 版本中 Backend.Options 的实际接口能力进行区分: | 版本 | 测试方法数 | 接口差异 | |---|---:|---| | v2.7.1 | 5 | 包含 backend 和 _timeout | | v2.11.0 | 6 | 增加 global_ranks_in_group 和 group_name | | v2.12.0 | 6 | 与 v2.11.0 一致 | | master | 6 | 当前 PyTorch 2.13.0 的目标属性范围与 v2.11.0、v2.12.0 一致 | 具体说明: 1. v2.7.1 中不存在 global_ranks_in_group 和 group_name,因此不包含 test_group_metadata_properties; 2. v2.11.0 开始支持 global_ranks_in_group 和 group_name,因此增加 分组元数据属性测试; 3. v2.11.0、v2.12.0 和当前 master 对应 PyTorch 2.13.0 的目标测试范围 一致; 4. 各分支测试差异来自 PyTorch 上游 API 的版本差异,不是测试覆盖遗漏。 经实际 API 探针确认,当前 PyTorch 2.13.0 的 Backend.Options 不包含: text use_pg_for_symm_mem_rendezvous enable_reconfigure 因此,本 PR 不再将这两个不属于当前目标接口的属性纳入测试范围。 ## 6. NPU 适配说明 该 API 是分布式后端配置对象,不接收 PyTorch Tensor,也不执行: 1. NPU 算子; 2. NPU Kernel; 3. HCCL 集合通信; 4. CPU/NPU 数据迁移; 5. 与 dtype、shape 或 device 有关的计算。 因此,本测试不创建与目标 API 无关的 NPU Tensor,也不初始化 HCCL 进程组。 测试时设置: text TORCH_DEVICE_BACKEND_AUTOLOAD=0 用于避免在独立版本验证环境中自动加载与目标配置类无关的设备后端。 该设置不会跳过或替代 Backend.Options 的任何接口行为验证。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及资料文件修改。 目标 API 位于: text torch._C._distributed_c10d 其中 torch._C 和 _distributed_c10d 均属于 PyTorch 内部实现模块, 该 API 属于 PyTorch 私有接口,不是客户可见的公开 API。 根据 API 一致性任务要求,PyTorch 私有接口无需在以下公开资料目录新增 API 文档: text docs/zh/api/native_api 因此,本任务不新增 Docs PR,也不修改资料目录。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。 本 PR 仅新增测试,不修改目标 API 的: 1. API 名称; 2. 构造函数签名; 3. 输入参数; 4. 默认参数; 5. 属性定义; 6. 返回行为; 7. 异常行为; 8. Python 绑定; 9. 底层 C++ 实现。 本 PR 不涉及跨代码仓修改,也不涉及客户可见接口变更。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ## 1. 验证分支和提交 目标分支: text master 测试分支: text test-backend-options-master 测试提交: text ed7ec8d7c9731c75407ed9d22f71e68e7189e364 验证前确认本地和远端提交一致: text Local commit: ed7ec8d7c9731c75407ed9d22f71e68e7189e364 Remote commit: ed7ec8d7c9731c75407ed9d22f71e68e7189e364 ## 2. 测试环境 text Python executable: /workspace/venvs/api3205-master/bin/python Python: 3.11.13 torch: 2.13.0+cu130 Expected torch: 2.13.0 Torch version match: True +cu130 是当前 PyTorch wheel 的构建标识。本测试不执行 CUDA 算子, 也不依赖 CUDA 设备。 ## 3. API 探针 实际结果: text options_type: <class 'torch._C._distributed_c10d.Backend.Options'> backend: hccl _timeout: 0:30:00 has_global_ranks_in_group: True has_group_name: True has_use_pg_for_symm_mem_rendezvous: False has_enable_reconfigure: False API probe valid: True API probe exit code: 0 ## 4. 测试方法检查 实际检测到 6 个测试方法: text test_init_with_default_and_explicit_timeout test_init_with_boundary_values test_group_metadata_properties test_property_access_and_instance_independence test_invalid_constructor_arguments test_invalid_timeout_assignment 结果: text test_method_count: 6 test method inspection exit code: 0 ## 5. Python 语法检查 执行命令: bash PYTHONDONTWRITEBYTECODE=1 \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ /workspace/venvs/api3205-master/bin/python \ -m py_compile \ /tmp/api3207_master_after_fix/test_backend_options.py 结果: text py_compile exit code: 0 ## 6. Git 差异检查 执行命令: bash git diff --check HEAD^ HEAD 结果: text git diff --check exit code: 0 ## 7. unittest 验证 执行命令: bash cd /tmp PYTHONPATH= \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ PYTHONDONTWRITEBYTECODE=1 \ /workspace/venvs/api3205-master/bin/python \ /tmp/api3207_master_after_fix/test_backend_options.py \ -v 实际结果: text test_group_metadata_properties ... ok test_init_with_boundary_values ... ok test_init_with_default_and_explicit_timeout ... ok test_invalid_constructor_arguments ... ok test_invalid_timeout_assignment ... ok test_property_access_and_instance_independence ... ok ---------------------------------------------------------------------- Ran 6 tests in 1.508s OK 结果: text unittest exit code: 0 ## 8. pytest 验证 执行命令: bash cd /tmp PYTHONPATH= \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ PYTHONDONTWRITEBYTECODE=1 \ /workspace/venvs/api3205-master/bin/python \ -m pytest -q \ /tmp/api3207_master_after_fix/test_backend_options.py 实际结果: text ...... [100%] 6 passed, 14 subtests passed in 4.75s 结果: text pytest exit code: 0 ## 9. 验证结果汇总 text API_EXIT=0 METHOD_EXIT=0 COMPILE_EXIT=0 DIFF_EXIT=0 UNITTEST_EXIT=0 PYTEST_EXIT=0 最终结果: text RESULT: API #3207 master validation PASSED  完整日志: text /workspace/api3207_logs/master.log # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43165 | 28 天前 | |
| 2 年前 | ||
enable internal format by default for hccl tests on A3 Co-authored-by: freezee<gengdongjie@huawei.com> # message auto-generated for no-merge-commit merge: !27441 merge master into master enable internal format by default for hccl tests on A3 Created-by: freezee Commit-by: freezee 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!27441 | 8 个月前 | |
Add test for bf16_compress_wrapper on NPU Co-authored-by: qq_44188726<16634253534@163.com> # message auto-generated for no-merge-commit merge: !42812 merge bf16_compress_wrapper-master into master Add test for bf16_compress_wrapper on NPU Created-by: qq_44188726 Commit-by: qq_44188726 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 关联任务issue: https://gitcode.com/Ascend/pytorch/issues/3131 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.bf16_compress_wrapper PyTorch 官方社区在 test/distributed/test_c10d_nccl.py 中有相关测试,但依赖 NCCL 后端和多卡环境;该 API 在 NPU 上无直接独立测试,因此自行编写用例提交到 test 目录。 本用例在 NPU 单卡上验证 bf16_compress_wrapper: - 返回可调用对象; - bf16 压缩(hook 收到 bf16 张量)→ 解压(结果仍为 bf16)→ 拷回 fp32 恢复原始 dtype; - 通过真实单卡进程组(hccl)包装默认 allreduce_hook,走真实 dist.all_reduce 验证 collective 行为。 新增 test/distributed/test_bf16_compress_wrapper.py。 # 【资料变更】 不涉及修改。该 API 官方文档已存在:docs/zh/api/native_api/pytorch_2-{7-1,11-0,12-0,13-0}/DDP-Communication-Hooks.md 中均有 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.bf16_compress_wrapper 条目, 支持状态为 Atlas A2/A3 是、Ascend 950DT 否,且无「限制与说明」条目、无 dtype 表述问题,故无需修改文档。 # 【接口变更】 不涉及 # 【功能介绍】 bf16_compress_wrapper(hook):将给定的 DDP 通信 hook 包装为 bf16 压缩版本——把梯度张量转成 bfloat16 后交给 hook(如 allreduce_hook)做通信,再把结果拷回原 bucket(bf16),由下游拷回 fp32 梯度缓冲以恢复原始 dtype。纯分布式/通信层包装逻辑,涉及真实 collective 路径。 # 【功能验证】 - test_bf16_compress_wrapper_dtype_conversion — bf16 压缩/解压/dtype 恢复(fake hook) - test_bf16_compress_wrapper_allreduce — 真实单卡 hccl 进程组 + allreduce_hook 走 dist.all_reduce,验证 collective 行为与 bf16 结果 运行命令:python /workspace/user_data/pytorch-master/test/distributed/test_bf16_compress_wrapper.py -v ((torch-npu-test) ) root@4bbdd5db8c18:/tmp# python /workspace/user_data/pytorch-master/test/distributed/tes t_bf16_compress_wrapper.py -v test_bf16_compress_wrapper_allreduce (__main__.TestBf16CompressWrapper.test_bf16_compress_wrapper_allreduce) ... ok test_bf16_compress_wrapper_dtype_conversion (__main__.TestBf16CompressWrapper.test_bf16_compress_wrapper_dtype_conversion) ... ok test_bf16_compress_wrapper_returns_callable (__main__.TestBf16CompressWrapper.test_bf16_compress_wrapper_returns_callable) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.023s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42812 | 7 天前 | |
enable internal format by default for hccl tests on A3 Co-authored-by: freezee<gengdongjie@huawei.com> # message auto-generated for no-merge-commit merge: !27441 merge master into master enable internal format by default for hccl tests on A3 Created-by: freezee Commit-by: freezee 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!27441 | 8 个月前 | |
| 1 年前 | ||
test(distributed): add ProcessGroupMPI.create tests Co-authored-by: lgxxx<22515063@zju.edu.cn> # message auto-generated for no-merge-commit merge: !42951 merge test-process-group-mpi-create-master into master test(distributed): add ProcessGroupMPI.create tests Created-by: lgxxx Commit-by: lgxxx Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 Issue: https://gitcode.com/Ascend/pytorch/issues/3208 # 【修改方案】 Add Python validation tests for torch.distributed.distributed_c10d.ProcessGroupMPI.create in test/distributed/test_c10d_mpi.py. The PyTorch community has C++ coverage for the MPI process group but no direct Python tests for this API. The tests cover MPI availability and import guards, factory creation and properties, non-member behavior, process-group initialization, and allreduce/broadcast/barrier operations. # 【资料变更】 不涉及。This is a backend control API and no native API documentation update is required. # 【接口变更】 不涉及。 # 【功能验证】 The test was run with an absolute path outside the source tree: python -m pytest test/distributed/test_c10d_mpi.py -q Result: 4 passed, 14 skipped. The skipped cases require an MPI runtime and a PyTorch build compiled with MPI support; this is expected in the current environment. ProcessGroupMPI is a backend/control API, so the test does not require NPU tensors. # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 <!-- api-validation-evidence:start --> ## NPU 功能验证补充 以下为当前 PR head commit 对应的单卡 NPU 实测环境、命令和结果: text TASK 99 / PR #42951 / VALIDATION EVIDENCE API=torch.distributed.distributed_c10d.ProcessGroupMPI.create TARGET_BRANCH=master PLATFORM=Linux-5.10.0-216.0.0.115.oe2203sp4.aarch64-aarch64-with-glibc2.35 PYTHON=3.11.15 TORCH=2.12.0+cu130 TORCH_NPU=2.12.0.rc1 CANN=9.1.0.beta1 NPU=Ascend910_9382 VISIBLE_NPU=1 (PHYSICAL NPU 0) COMMAND=scripts/run_api_python_version.sh master sources/review/task99-master/test/distributed/test_c10d_mpi.py -v RESULT: Ran 18 tests in 0.074s OK (skipped=14) test_exit_code=0 NOTE=master source with 2.12 runtime; MPI is not compiled; direct create cases were skipped > 说明:当前 PyTorch wheel 未编译 MPI;18 项中 14 项直接 MPI/create 用例按条件跳过。本次结果证明不可用路径及测试文件可正常执行,不表述为 ProcessGroupMPI.create 已在本机实际运行。 <!-- api-validation-evidence:end --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 Issue: https://gitcode.com/Ascend/pytorch/issues/3208 # 【修改方案】 Add Python validation tests for torch.distributed.distributed_c10d.ProcessGroupMPI.create in test/distributed/test_c10d_mpi.py. The PyTorch community has C++ coverage for the MPI process group but no direct Python tests for this API. The tests cover MPI availability and import guards, factory creation and properties, non-member behavior, process-group initialization, and allreduce/broadcast/barrier operations. # 【资料变更】 不涉及。This is a backend control API and no native API documentation update is required. # 【接口变更】 不涉及。 # 【功能验证】 The test was run with an absolute path outside the source tree: python -m pytest test/distributed/test_c10d_mpi.py -q Result: 4 passed, 14 skipped. The skipped cases require an MPI runtime and a PyTorch build compiled with MPI support; this is expected in the current environment. ProcessGroupMPI is a backend/control API, so the test does not require NPU tensors. CI validation is pending. # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42951 | 25 天前 | |
| 2 年前 | ||
check the size of tensors for alltoall Co-authored-by: tonglei<tonglei10@huawei.com> # message auto-generated for no-merge-commit merge: !29632 merge master into master check the size of tensors for alltoall Created-by: tongleicom Commit-by: tonglei 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!29632 | 7 个月前 | |
| 2 年前 | ||
[refactor]: remove DataParallel monkey-patches to align with upstream Co-authored-by: qq_53278473<qq_53278473@noreply.gitcode.com> Co-authored-by: qq_53278473<chenzhe127@huawei.com> # message auto-generated for no-merge-commit merge: !43449 merge master into master [refactor]: remove DataParallel monkey-patches to align with upstream Created-by: qq_53278473 Commit-by: chenzhe;qq_53278473 Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 移除 torch_npu/utils/_module.py 中 _apply_module_patch() 对 DataParallel 的两处猴子补丁: 1. DataParallel.parallel_apply = npu_parallel_apply 2. torch.nn.parallel.data_parallel = npu_data_parallel 同时删除不再被运行时代码调用的以下内部实现: 1. npu_parallel_apply 2. npu_data_parallel 3. _parallel_apply 将 test/distributed/test_data_parallel.py 中对 torch_npu.utils._module._parallel_apply 的直接调用替换为官方 torch.nn.parallel.parallel_apply。 变更后,DataParallel.parallel_apply、torch.nn.parallel.data_parallel 及对应测试均使用 PyTorch 官方实现,torch_npu 不再维护重复的自定义 DataParallel 执行逻辑。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及公开接口变更。删除的三个函数均位于 torch_npu.utils._module 内部,未作为公开 API 暴露;现有公开 DataParallel API 的调用方式和函数签名保持不变。 # 【功能验证】 修改版与原始版(保留补丁)进行了 A/B 测试,正常功能测试结果一致: | 测试套件 | 修改版 | 原始版 | |----------|--------|--------| | PTA DataParallel 测试 | 15/15 OK | 15/15 OK |  | 测试套件 | 修改版 | 原始版 | |----------|--------|--------| | 官方 DataParallel 适配测试 | 23 PASS, 1 FAIL, 8 ERROR, 30 SKIP | 23 PASS, 1 FAIL, 8 ERROR, 30 SKIP |  - 8 个 ERROR 均为 NPU 硬件限制(不支持 float64/complex64),与本次变更无关。 - 1 个 FAIL(test_parallel_apply_autocast)为 autocast dtype 差异,与本次变更无关。 ## 异常日志影响评估 原自定义实现会在部分参数异常后附加 pta_error(ErrCode.PARAM/VALUE)。切换到 PyTorch 官方实现后,社区代码抛出的异常不再携带 PTA 错误码。 针对 7 个异常场景进行了修改前后 A/B 验证: - 异常类型保持一致。 - 6 个场景的主要异常文本保持一致,仅不再附加 ERR00001/ERR00003。 - module_kwargs=None 防御性分支的异常文本存在变化,该分支在正常调用路径中基本不可达。 - 调用方捕获异常时不再包含 PTA 错误码。 - 未捕获异常由现有全局异常处理逻辑归类为 ERR99999 UNKNOWN。 - 仓库检索未发现其他 torch_npu API 依赖或解析上述错误码。 因此,本次修改不影响 DataParallel 的正常功能和执行结果;异常日志的错误码及归属发生预期变化,不属于功能回归。 测试环境:Ascend 910B × 8,CANN 8.0.RC1,PyTorch 2.13.0+cpu,Python 3.11.13 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 https://gitcode.com/Ascend/pytorch/issues/3686 See merge request: Ascend/pytorch!43449 | 27 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
[Test] Sync DeviceMesh tests with MeshLayout changes Co-authored-by: Jiayi_Meng<mengjiayi5@huawei.com> # message auto-generated for no-merge-commit merge: !43811 merge master into master [Test] Sync DeviceMesh tests with MeshLayout changes Created-by: Jiayi_Meng Commit-by: Jiayi_Meng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3419 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 将 test/distributed/test_device_mesh.py 与当前 PyTorch DeviceMesh 和 _MeshLayout 的实现行为保持同步,具体修改如下: 1. 删除已失效的 test_assert_invalid_mesh_tensor 测试。 - 旧测试预期非 CPU 的 mesh tensor 会触发 ValueError。 - 当前 DeviceMesh 会在初始化前自动将 mesh tensor 转移到 CPU,因此原测试预期已经失效。 2. 更新 test_flatten_mesh_3d 中扁平布局的 rank 校验。 - 对 dp_cp 和 dp_tp 两种扁平布局,均先调用 _MeshLayout.collapse() 获取折叠后的一维布局,再调用 global_ranks(8)。 - 使测试调用方式与当前 _MeshLayout.global_ranks() 的接口要求保持一致。 3. 更新非法扁平维度切片的异常预期。 - 将原来的 NotImplementedError 修改为当前实现抛出的 KeyError。 - 校验当前错误信息:Mesh dim indices should be in ascending order。 - 补充注释,说明扁平维度 dp_tp 分布在 cp 维度的两侧,不满足升序切片要求。 4. 补齐测试文件末尾换行,不涉及功能行为变化。 涉及的组件交互关系如下: - test_device_mesh.py 负责构造和切分 DeviceMesh。 - DeviceMesh._flatten() 创建扁平 mesh,并在根 mesh 中记录对应的 _MeshLayout。 - _MeshLayout.collapse() 将多层布局折叠为一维布局。 - global_ranks() 基于折叠后的布局计算全局 rank,用于验证扁平 mesh 的 rank 映射是否正确。 本修改属于测试用例兼容性修复,不涉及需求开发、架构重构、生产代码逻辑、组件时序或 DFX 能力变更,因此无需补充详细设计文档、时序图或类图。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43811 | 1 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
test: add NPU coverage for distributed_c10d._tensor_to_object Co-authored-by: mortalzz<2283012562@qq.com> # message auto-generated for no-merge-commit merge: !44274 merge test-api-consistency-master into master test: add NPU coverage for distributed_c10d._tensor_to_object Created-by: mortalzz Commit-by: mortalzz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - https://gitcode.com/Ascend/pytorch/issues/3194 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ## 一、API 功能 torch.distributed.distributed_c10d._tensor_to_object(tensor, tensor_size, group) 根据序列化 ByteTensor、对象有效长度和可选 ProcessGroup 反序列化并恢复 Python 对象。该私有 API 已支持,无需修改功能源码。 ## 二、PyTorch 社区用例与完整性 PyTorch master 的 object collective 用例只通过上层路径间接调用目标 API,没有直接覆盖 NPU ByteTensor、group=None/有效 ProcessGroup、tensor_size 输入类型和边界,以及非法输入异常一致性。 社区直接用例覆盖不完整,且目标涉及 NPU Tensor。因此按照当前验收标准,在 test/distributed/test_distributed_c10d_api.py 中保留直接测试。 ## 三、NPU 测试适配 - 在 setUp 中建立单卡 HashStore + HCCL 默认进程组并统一清理。 - 输入类型用例覆盖 CPU/NPU tensor、多种 size 类型、group=None 与有效 dist.group.WORLD。 - 边界用例覆盖精确、超长、零、截断和负值。 - 非法输入用例覆盖非法 size、dtype 和非 Tensor 输入,并比较 CPU/NPU 异常一致性。 - 不显式导入 torch_npu。 # 【资料变更】 无。目标为 PyTorch 私有实现接口,无需补充公开 API 文档。 # 【接口变更】 无客户可见接口变更。本 PR 只新增目标 API 的直接测试。 # 【功能验证】 master 当前没有可用的匹配 torch-npu wheel。本次使用 PyTorch/torch-npu 2.12.0、Ascend910B3 对 master 分支中的相同测试内容进行 NPU 运行验证,并对 master 提交执行静态检查;不将其表述为 master 对应 PyTorch 运行时的原生验证。 bash /workspace/venv-2.12/bin/python /workspace/pytorch-pr44274/test/distributed/test_distributed_c10d_api.py -v python -m py_compile test/distributed/test_distributed_c10d_api.py git diff --check upstream/master...HEAD text test_tensor_to_object_input_types (__main__.TestDistributedC10dAPIs) ... ok test_tensor_to_object_invalid_inputs (__main__.TestDistributedC10dAPIs) ... ok test_tensor_to_object_tensor_size_boundaries (__main__.TestDistributedC10dAPIs) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.878s OK 目标测试内容执行通过,无测试级 skip;py_compile 和 git diff --check 通过。master 对应运行时验证由 PR CI 补充。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] 本地 NPU 内容验证与 master 静态检查通过 See merge request: Ascend/pytorch!44274 | 10 天前 | |
reduce scatter support tensorlist.size != world_size Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44435 merge reduce_scatter_master into master reduce scatter support tensorlist.size != world_size Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本提案修改 torch_npu 的 ProcessGroupHCCL::reduce_scatter,使其输入支持范围与 PyTorch 社区(NCCL)保持一致。 PyTorch 2.2 的 reduce_scatter 对输入张量列表有形状/计数约束(列表长度须等于 world_size、每张量 numel 须等于输出 numel 等),2.3 起去除了这些约束。pta(torch_npu)当前的 reduce_scatter 与 PyTorch 2.2 实现一致:输入是 tensor list,包含多个 tensor,数量与卡数一致。这与社区后续版本不一致,需要兼容输入只有一个 tensor 的场景等用例,和社区保持一致。 核心改动:在 reduce_scatter 的 same_size 分支新增展平函数 flatten_for_reduce_scatter,替代原先复用的 flatten_for_scatter_gather——移除"输入张量数须等于 world_size""每张量 numel 须等于输出 numel"两条校验,保留列表长度一致与 input/output 同设备校验,并新增非空检查。Python 层 torch.distributed.reduce_scatter 签名不变。) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 1、基础功能验证:执行test_reduce_scatter.py用例  2、dtype*op*tensorshape(1D,2D)*input_tensor_list.size(==,>,< world_size)*all_input_numbel(==, >, < )all_output_numbel reduce_scatter 全耦合输入,reduce_scatter算子输出与gpu结果对比  3、性能验证,修改前后pta调用reduce_scatter,用时基本无变化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44435 | 21 天前 | |
[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 个月前 | |
Add test for fp16_compress_hook Co-authored-by: qq_44188726<16634253534@163.com> # message auto-generated for no-merge-commit merge: !42829 merge fp16_compress_hook-master into master Add test for fp16_compress_hook Created-by: qq_44188726 Commit-by: qq_44188726 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 关联任务issue: https://gitcode.com/Ascend/pytorch/issues/3132 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.fp16_compress_hook PyTorch 官方社区在 test/distributed/test_c10d_nccl.py 中有相关测试,但依赖 NCCL 后端和多卡环境;该 API 在 NPU 上无直接独立测试,因此自行编写用例提交到 test 目录。 本用例在 NPU 上验证 fp16_compress_hook 的行为: - fp16 压缩(转 fp16 并按 world size 均分)→ dist.all_reduce → 解压回原始 dtype; - process_group=None 时回退 dist.group.WORLD; - world_size > 1 时除以 world size,并断言 all_reduce 的 group 与 async_op=True 调用参数; - tuple 与 GradBucket 两种 bucket 输入形态; - dist.all_reduce 异常传播。 新增 test/distributed/test_fp16_compress_hook.py。 # 【资料变更】 不涉及修改。该 API 官方文档已存在:docs/zh/api/native_api/pytorch_2-{7-1,11-0,12-0,13-0}/DDP-Communication-Hooks.md 中均有 torch.distributed.algorithms.ddp_comm_hooks.default_hooks.fp16_compress_hook 条目, 支持状态为 Atlas A2/A3 是、Ascend 950DT 否,且无「限制与说明」条目、无 dtype 表述问题,故无需修改文档。 # 【接口变更】 不涉及 # 【功能介绍】 fp16_compress_hook(process_group, bucket):DDP 通信 hook,将梯度张量转成 float16 并除以进程组大小后,通过 dist.all_reduce 做聚合(async_op=True),再把结果解压回原始 dtype。process_group 为 None 时使用 dist.group.WORLD;bucket 支持 GradBucket 或 tensor 元组两种输入形态。 # 【功能验证】 test/distributed/test_fp16_compress_hook.py (fp16_compress_hook) - test_fp16_compress_hook_is_callable — fp16_compress_hook 可调用 - test_fp16_compress_hook_dtype_conversion — fp16 压缩→allreduce→解压,dtype 行为正确(GradBucket 输入) - test_fp16_compress_hook_process_group_none — process_group=None 回退 dist.group.WORLD,async_op=True - test_fp16_compress_hook_allreduce_world_size — world_size>1 除以 world size,断言 group/async_op 参数与结果 - test_fp16_compress_hook_tuple_bucket — tuple bucket 输入形态 - test_fp16_compress_hook_allreduce_exception — dist.all_reduce 异常向外传播 运行命令: python -m pytest /workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py -xvs =========================================== test session starts =========================================== platform linux -- Python 3.12.13, pytest-8.3.2, pluggy-1.6.0 -- /workspace/envs/torch-npu-test/bin/python cachedir: .pytest_cache rootdir: /workspace/user_data/pytorch-master configfile: pyproject.toml plugins: xdist-3.6.1 collected 6 items ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_allreduce_exception PASSED ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_allreduce_world_size PASSED ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_dtype_conversion PASSED ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_is_callable PASSED ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_process_group_none PASSED ../workspace/user_data/pytorch-master/test/distributed/test_fp16_compress_hook.py::TestFp16CompressHook::test_fp16_compress_hook_tuple_bucket PASSED ============================================ 6 passed in 8.00s ============================================ # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42829 | 7 天前 | |
test: verify community 2.11.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36312 merge master_verify_distributed into master test: verify community 2.11.0 features and fixes Created-by: kuhn7 Commit-by: chenkun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 [【分布式】社区2.11.0版本特性和修复验证](https://gitcode.com/Ascend/pytorch/issues/2025) - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PyTorch 社区新增特性和bugfix,需要基于torch_npu进行验证,运行torch_npu或社区用例,保障功能正常运行。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36312 | 3 个月前 | |
| 1 年前 | ||
Add ProcessGroupHCCL::getCollNpuStreamId() to get or create NPU stream by device Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !34702 merge collstreamid/master into master Add ProcessGroupHCCL::getCollNpuStreamId() to get or create NPU stream by device Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/1884 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 | **序号** | **功能点名称** | **功能点描述** | | :------- | :------------------------------- | :----------------------------------------------------------- | | 1 | 新增 C++ 方法 getCollNpuStreamId | 在 ProcessGroupHCCL 类中新增 getCollNpuStreamId(at::Device device) 方法。根据 device 参数生成 key,从 hcclStreams_ map 中查询对应的 NPU stream ID,如果不存在则创建新的 stream。 | | 2 | Stream 存在时返回已有 ID | 当 hcclStreams_ 中存在对应 key 且 stream 列表不为空时,直接返回已有的 stream ID,确保幂等性。 | | 3 | Stream 不存在时创建新 Stream | 当 hcclStreams_ 中不存在对应 key 或 stream 列表为空时,从 stream pool 中创建新的 NPU stream,存入 hcclStreams_,并返回新创建的 stream ID。 | | 4 | 支持高优先级 Stream 创建 | 创建新 stream 时,根据 options_->is_high_priority_stream 或环境变量 TORCH_HCCL_HIGH_PRIORITY 决定是否创建高优先级 stream。 | | 5 | Python 绑定暴露接口 | 在 Init.cpp 中通过 pybind11 将 getCollNpuStreamId 暴露为 Python 接口 get_coll_npu_stream_id,参数包括 device(torch.device),返回值为 int(stream ID)。 |  # 【资料变更】 不涉及 # 【接口变更】 新增Python 用户侧接口:ProcessGroupHCCL.get_p2p_stream_id * *接口描述:通过 pybind11 将 getCollNpuStreamId 暴露至 Python 层,供用户在分布式训练脚本中直接调用,获取指定设备的集合通信 stream ID 用于 stream 级别的同步与管理。 * *接口原型: int64_t get_coll_npu_stream_id(at::Device device); * *输入参数:* | 参数名称 | 类型 | 描述 | | -------- | ------------ | ---------------------------------------------------- | | device | at::Device | at::DeviceNPU 设备对象,用于生成 key 和创建 stream | * *返回参数:* | 参数名称 | 类型 | 描述 | | ------------- | --------- | -------------------------------- | | hcclStream.id | int64_t | 对应集合通信 stream 的 stream ID | # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!34702 | 3 个月前 | |
[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: add _group_start and _group_end bindings for ProcessGroupHCCL from master Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !43078 merge feat/add-hccl-group-start-end-bindings-master into master feat: add _group_start and _group_end bindings for ProcessGroupHCCL from master Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 该需求是将 ProcessGroupHCCL类中已有的groupStart和groupEnd方法通过 PyBind11 暴露给 Python,命名为_group_start和_group_end,对齐 PyTorch 社区 ProcessGroupNCCL 对应接口,允许用户在 Python 侧手动将多个 HCCL 通信操作合并为一个 kernel 下发执行,减少 launch overhead。 # 【资料变更】 不涉及 # 【接口变更】 新增 _group_start and _group_end python侧接口 # 【功能验证】 test_group_send_recv_performance   test_group_all_reduce_relibility  test_group_p2p_reliability用例通过  1w次性能测试  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43078 | 27 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
fix: PTA_Feature_pipelining_UT_stage failed in A5 Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !43747 merge fix_pipelining_cxy into master fix: PTA_Feature_pipelining_UT_stage failed in A5 Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 由于950pr机器不在 elif device.type == "npu"的用户名单内,导致走了else分支,分支内没有_ProcessGroupWrapper是接口导致的报错。然后对后端对象解包进行修改,通过修改 _group 的获取与调用逻辑,在拿到 _group 后判断其类型,若为 _ProcessGroupWrapper,通过 .wrapped_pg 访问解包出底层的真实 ProcessGroupHCCL 对象,再调用 batch_isend_irecv 接口。 两个test用例修改是为了跑通ci流水线,解决历史遗留问题 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 失败用例测试通过    # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43747 | 1 个月前 | |
| 2 年前 | ||
test: verify community 2.10.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36919 merge master_distributed_testcase_verify into master test: verify community 2.10.0 features and fixes Created-by: kuhn7 Commit-by: chenkun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 [【分布式】社区2.10.0版本特性和修复验证](https://gitcode.com/Ascend/pytorch/issues/2141) - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PyTorch 社区新增特性和bugfix,需要基于torch_npu进行验证,运行torch_npu或社区用例,保障功能正常运行。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36919 | 3 个月前 | |
| 1 年前 | ||
[sync] PR-36922: test(npu): add primary context isolation tests Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !37657 merge sync-pr36922-pr_test_primary_ctx-to-master into master [sync] PR-36922: test(npu): add primary context isolation tests Created-by: ascend-ds-bot Commit-by: wuyouqi1 Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/36922 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/2262 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[96d3670f](https://gitcode.com/Ascend/pytorch/commit/96d3670fbbd48ed0f8382e6574034fd4cbc0a5af)|2026-06-04 20:33:43 +0800 CST|test: remove debug prints and set ACL_OP_INIT_MODE=1 for CI compatibility<br><br>Remove diagnostic debug output from test_npu_primary_ctx.py.<br>Set ACL_OP_INIT_MODE=1 in __main__ block to prevent eager ACL op<br>initialization from implicitly creating device 0 primary context,<br>which is the root cause of CI failure (CI sets ACL_OP_INIT_MODE=0).<br><br>Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com><br>| |[c1b3d598](https://gitcode.com/Ascend/pytorch/commit/c1b3d59814b4e399e2f1772bbddcebbd5176d51f)|2026-06-04 15:17:53 +0800 CST|Revert "test: add diagnostic test files for CI primary ctx failure"<br><br>This reverts commit eb1e36319452da71fdbedbeec22bb72d3e9fea1b.<br>| |[78a9c425](https://gitcode.com/Ascend/pytorch/commit/78a9c425df0631f052b0c0520de812cd6b34118d)|2026-06-04 15:17:33 +0800 CST|Revert "test: pure ctypes test — only AclrtGetPrimaryCtxState, no torch_npu wrapper"<br><br>This reverts commit f0a4f1e267c380ea9d74bc4a42a9354b385c1b80.<br>| |[f0a4f1e2](https://gitcode.com/Ascend/pytorch/commit/f0a4f1e267c380ea9d74bc4a42a9354b385c1b80)|2026-06-03 16:55:35 +0800 CST|test: pure ctypes test — only AclrtGetPrimaryCtxState, no torch_npu wrapper<br>| |[eb1e3631](https://gitcode.com/Ascend/pytorch/commit/eb1e36319452da71fdbedbeec22bb72d3e9fea1b)|2026-06-03 15:10:00 +0800 CST|test: add diagnostic test files for CI primary ctx failure<br><br>- test_npu_primary_ctx_swap_order.py: swap hasPrimaryContext(1)/(0) check order<br>- test_npu_primary_ctx_ctypes.py: ctypes direct call AclrtGetPrimaryCtxState<br>| |[ba9d8b6c](https://gitcode.com/Ascend/pytorch/commit/ba9d8b6c23c92df4f7c971d0059eb8a5fa709f93)|2026-06-02 14:55:15 +0800 CST|test(npu): add primary context isolation tests with debug diagnostics<br><br>Add test_npu_primary_ctx.py to verify NPU primary context isolation<br>across devices, with debug logging for CI environment diagnosis.<br><br>Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com><br>| See merge request: Ascend/pytorch!37657 | 3 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
fix: re-enable test_schedule_multiproc by widening HCCL port range and fixing STATIC-mode grad setup Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !44891 merge fix_test_schedule_multiproc_2.13 into master fix: re-enable test_schedule_multiproc by widening HCCL port range and fixing STATIC-mode grad setup Created-by: chansinging Commit-by: Chansinging Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 2.13版本的pp手动重构了pipelineStage的数据路径,开始信任示例张量的 requires_grad:,去除了早期版本的 2.7 / 2.11 的手动 _create_grad_recv_info 只要输出发往下一级就无条件分配梯度接收缓冲,并在 has_backward 时无条件把激活接收缓冲 requires_grad_,示例张量的 requires_grad 从未被查阅,所以 no_grad 产出的 requires_grad=False 完全正确的。 2. 修改方案是:新增了 _mark_trainable 修正 requires_grad(核心):对 float 型示例张量标记 requires_grad=True,镜像库自身的规则 has_backward and is_floating_point(),让 STATIC 元数据反映训练真实意图 3. 对齐官方社区的用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44891 | 17 天前 | |
| 1 年前 | ||
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44701 merge reduce_support_more_dtype_master into master A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA reduce相关算子在processgrouphccl.cpp中有数据类型的校验,暂时未包含hccl A5新支持的数据类型uint64和fp64: 修改processgrouphccl.cpp中的数据校验函数,针对A5添加支持的数据类型uint64和fp64: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44701 | 18 天前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44701 merge reduce_support_more_dtype_master into master A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA reduce相关算子在processgrouphccl.cpp中有数据类型的校验,暂时未包含hccl A5新支持的数据类型uint64和fp64: 修改processgrouphccl.cpp中的数据校验函数,针对A5添加支持的数据类型uint64和fp64: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44701 | 18 天前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44701 merge reduce_support_more_dtype_master into master A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA reduce相关算子在processgrouphccl.cpp中有数据类型的校验,暂时未包含hccl A5新支持的数据类型uint64和fp64: 修改processgrouphccl.cpp中的数据校验函数,针对A5添加支持的数据类型uint64和fp64: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44701 | 18 天前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44701 merge reduce_support_more_dtype_master into master A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA reduce相关算子在processgrouphccl.cpp中有数据类型的校验,暂时未包含hccl A5新支持的数据类型uint64和fp64: 修改processgrouphccl.cpp中的数据校验函数,针对A5添加支持的数据类型uint64和fp64: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】      # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44701 | 18 天前 | |
Fix UT from test_register_sharding Co-authored-by: zhangguoguang<zhangguoguang2@huawei.com> # message auto-generated for no-merge-commit merge: !29145 merge fix_UT_master into master Fix UT from test_register_sharding Created-by: zhangguoguang Commit-by: zhangguoguang 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!29145 | 7 个月前 | |
AI assist developer for python DT second batch for master Co-authored-by: deepSeekya<chenzhihan6@huawei.com> # message auto-generated for no-merge-commit merge: !26387 merge master into master AI assist developer for python DT second batch for master Created-by: deepSeekya Commit-by: deepSeekya Merged-by: ascend-robot Description: 【合入说明】 AI辅助研发python dt测试用例生成。 【合入来源】 AI辅助研发需求 dt测试文件覆盖率提升。 See merge request: Ascend/pytorch!26387 | 9 个月前 | |
AI assist developer for python DT second batch for master Co-authored-by: deepSeekya<chenzhihan6@huawei.com> # message auto-generated for no-merge-commit merge: !26387 merge master into master AI assist developer for python DT second batch for master Created-by: deepSeekya Commit-by: deepSeekya Merged-by: ascend-robot Description: 【合入说明】 AI辅助研发python dt测试用例生成。 【合入来源】 AI辅助研发需求 dt测试文件覆盖率提升。 See merge request: Ascend/pytorch!26387 | 9 个月前 | |
| 1 年前 | ||
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
| 1 年前 | ||
【bugfix】hcclwatchdog save status Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !44731 merge processgrouphccl_master into master 【bugfix】hcclwatchdog save status Created-by: xiaoqi-zhou Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue:https://gitcode.com/Ascend/pytorch/issues/3334 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.状态保存是辅助功能不抛异常仅打印详细日志,支持嵌套创建目录。 2.加锁全局进行写入时,锁改成全局变量;写入时先写入tmp文件,写入成功后再改成正式文件;未防止Hash扩容导致读取脏数据,读取存数据变量的深拷贝变量。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 本地自验证通过: python集成测试:  C++单例测试:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44731 | 20 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !40479 merge fix_resumcomm_master into master fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 子通信域特性与故障快恢场景下的resume通信域特性冲突,暂时不支持resume子通信域,所以子通信域特性增加一个环境变量开关 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 正常拉起训练  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40479 | 21 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 3 个月前 | |
register strategies for npu custom ops Co-authored-by: jizewei<jizewei@huawei.com> # message auto-generated for no-merge-commit merge: !27012 merge master_register_strategy into master register strategy for npu custom ops Created-by: jizewei Commit-by: jizewei 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 /kind feature **What does this PR do / why do we need it**: register sharding strategies for npu custom ops to support DTensor: 1. npu_add_rms_norm 2. npu_moe_token_permute, npu_moe_token_permute_grad 3. npu_moe_token_unpermute, npu_moe_token_unpermute_grad 4. npu_rotary_mul, npu_rotary_mul_backward **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!27012 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 21 天前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 19 天前 | ||
| 25 天前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 17 天前 | ||
| 10 天前 | ||
| 3 个月前 | ||
| 20 天前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 18 天前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 28 天前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 7 天前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 25 天前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 27 天前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 10 天前 | ||
| 21 天前 | ||
| 2 个月前 | ||
| 7 天前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 27 天前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 17 天前 | ||
| 1 年前 | ||
| 18 天前 | ||
| 18 天前 | ||
| 18 天前 | ||
| 18 天前 | ||
| 7 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 20 天前 | ||
| 3 个月前 | ||
| 21 天前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 9 个月前 |