| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test: verify community 2.10.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36918 merge v2.12.0_distributed_testcase_verify into v2.12.0 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!36918 | 2 个月前 | |
reduce scatter support tensorlist.size != world_size Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44436 merge reduce_scatter_v2.12.0 into v2.12.0 reduce scatter support tensorlist.size != world_size Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本提案修改 torch_npu 的 ProcessGroupHCCL::reduce_scatter,使其输入支持范围与 PyTorch 社区(NCCL)保持一致。 PyTorch 2.2 的 reduce_scatter 对输入张量列表有形状/计数约束(列表长度须等于 world_size、每张量 numel 须等于输出 numel 等),2.3 起去除了这些约束。pta(torch_npu)当前的 reduce_scatter 与 PyTorch 2.2 实现一致:输入是 tensor list,包含多个 tensor,数量与卡数一致。这与社区后续版本不一致,需要兼容输入只有一个 tensor 的场景等用例,和社区保持一致。 核心改动:在 reduce_scatter 的 same_size 分支新增展平函数 flatten_for_reduce_scatter,替代原先复用的 flatten_for_scatter_gather——移除"输入张量数须等于 world_size""每张量 numel 须等于输出 numel"两条校验,保留列表长度一致与 input/output 同设备校验,并新增非空检查。Python 层 torch.distributed.reduce_scatter 签名不变。) 各输入形态数值示例 统一 world_size=4、output=[4]、fp32、SUM,输入约定同 §2.1(rank r 展平后第 k 元 = r*10+k)。need = 16(输出 numel × world_size);全局位置 p 的归约值在 p < have 时为 60+4p,p ≥ have 时零填充。下文列出每个 rank 的输入与输出。 **① 单 tensor**(input_list = [[16]],have = 16 = need): rank0 IN : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] OUT: [60,64,68,72] rank1 IN : [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25] OUT: [76,80,84,88] rank2 IN : [20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35] OUT: [92,96,100,104] rank3 IN : [30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45] OUT: [108,112,116,120] **② 张量数 < 卡数**(input_list = [[4],[4]],have = 8 < 16,尾部两 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [0,0,0,0] OUT: [0,0,0,0] **③ 张量数 > 卡数**(input_list = [[4]]*5,have = 20 > 16,第 5 个张量整体忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] **④ 张量数 = 卡数,每张量 > 输出**(input_list = [[5]]*4,have = 20 > 16,展平后尾部 4 元忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3, 4] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [5, 6, 7, 8, 9] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [40,41,42,43,44] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [45,46,47,48,49] ← 后4元忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] 展平后每 rank 共 20 元,前 16 元参与归约,尾部 4 元(第 4 个张量的后 4 元)忽略。 **⑤ 张量数 = 卡数,每张量 < 输出**(input_list = [[3]]*4,have = 12 < 16,尾部 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2] [10,11,12] [20,21,22] [30,31,32] [3, 4, 5] [13,14,15] [23,24,25] [33,34,35] [6, 7, 8] [16,17,18] [26,27,28] [36,37,38] [9,10,11] [19,20,21] [29,30,31] [39,40,41] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [0,0,0,0] **⑥ 2D 及多维**(input_list = [[5,4]],have = 20 > 16,展平后尾部 4 元忽略,同 ③): rank0 IN (shape [5,4]): rank1 IN (shape [5,4]): rank2 IN (shape [5,4]): rank3 IN (shape [5,4]): [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 1、基础功能验证 2、dtype*op*tensorshape(1D,2D)*input_tensor_list.size(==,>,< world_size)*all_input_numbel(==, >, < )all_output_numbel reduce_scatter算子输出与gpu结果对比  3、性能验证,修改前后pta调用reduce_scatter,用时基本无变化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44436 | 5 天前 | |
| 2 年前 | ||
test: verify community 2.12.0 features and fixes Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !37464 merge verify-v2.12.0 into v2.12.0 test: verify community 2.12.0 features and fixes 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!37464 | 2 个月前 | |
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: !42826 merge test_allreduce_hook_v2.12.0 into v2.12.0 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!42826 | 12 天前 | |
[v2.12.0] test: add test cases for _write_item Co-authored-by: huowentan<3294682143@qq.com> # message auto-generated for no-merge-commit merge: !42896 merge api-write-item-v2.12.0 into v2.12.0 [v2.12.0] test: add test cases for _write_item Created-by: 2501_93637465 Commit-by: huowentan Merged-by: ascend-robot Description: # 【合入来源】 任务来源:https://gitcode.com/Ascend/pytorch/issues/3148 关联 Issue:https://gitcode.com/Ascend/pytorch/issues/3148 Fixes #3148 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 API: torch.distributed.checkpoint.filesystem._write_item 目标分支:v2.12.0 # 【修改方案】 经检索,PyTorch 社区现有用例缺少对 torch.distributed.checkpoint.filesystem._write_item 的独立、充分验证,因此新增测试文件: test/distributed/checkpoint/test_write_item.py 测试覆盖: - BytesIO 基本数据、空数据和大数据写入; - Tensor 基本写入; - float32、int64 和 bool Tensor; - 二维 Tensor 和标量 Tensor; - 多个写入项连续写入; - Tensor 与 BytesIO 混合连续写入; - stream 写入内容验证; - WriteResult 的 index、size、offset、length 和 storage key; - _StorageInfo 属性验证; - 不同 PyTorch 版本 _write_item 签名的兼容调用。 该 API 的 Tensor 写入路径要求输入数据位于 CPU,并通过 torch.save 写入文件流。传入 NPU Tensor 会违反该接口的 data.device == cpu 约束, 因此本测试按照接口定义使用 CPU Tensor,不进行 NPU Tensor 迁移。 # 【资料变更】 torch.distributed.checkpoint.filesystem._write_item 是 PyTorch 私有接口。 根据 API 一致性任务指南,私有接口无需补充 docs/zh/api/native_api 支持资料,因此本 PR 不涉及资料变更。 # 【接口变更】 不涉及接口定义或功能实现变更,仅新增 API 一致性测试。 # 【功能验证】 | 测试项 | 结果 | | --- | --- | | test/distributed/checkpoint/test_write_item.py | PASS | | 13 个测试用例 | PASS | | python -m py_compile | PASS | | git diff --check | PASS | | PR CI 流水线 | PASS | 测试结果: text ---------------------------------------------------------------------- Ran 13 tests OK # 【CheckList】 - [x] 使用完整 API 名称 - [x] 新增文件包含 Huawei copyright - [x] 新增文件包含模块 docstring - [x] 使用 TestCase、run_tests 和 self.assert* - [x] CPU Tensor 使用符合 _write_item 接口约束 - [x] 不包含 print、try-except 或 import torch_npu - [x] 当前分支仅包含一个提交 - [x] CLA 和 CI 检查通过 See merge request: Ascend/pytorch!42896 | 3 天前 | |
test: add put_metric coverage Co-authored-by: lgxxx<22515063@zju.edu.cn> # message auto-generated for no-merge-commit merge: !42809 merge test-put-metric-v2.12.0 into v2.12.0 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 #42809 / VALIDATION EVIDENCE API=torch.distributed.elastic.metrics.put_metric TARGET_BRANCH=v2.12.0 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 2.12.0 sources/torch-npu-v2.12.0/test/distributed/elastic/metrics/test_metrics_api.py -v RESULT: Ran 7 tests in 0.086s OK test_exit_code=0 NOTE=pure Python API; no NPU tensor required > 说明:put_metric 是纯 Python、非计算类接口,测试不创建 Tensor;运行环境已完成 torch-npu 导入和 NPU 可用性探测。 <!-- api-validation-evidence:end --> <!-- PR描述模板更新日期:20260203 --> See merge request: Ascend/pytorch!42809 | 5 天前 | |
Optimize the patch for FSDP Co-authored-by: zhenyu10<shizhenyu5@huawei.com> # message auto-generated for no-merge-commit merge: !35275 merge v2.12.0 into v2.12.0 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!35275 | 2 个月前 | |
| 1 年前 | ||
skip test_schedule_multiproc Co-authored-by: dinghongzou<zoudinghong3@huawei.com> # message auto-generated for no-merge-commit merge: !40664 merge v2.12.0-skip into v2.12.0 skip test_schedule_multiproc Created-by: Windwindzzz Commit-by: dinghongzou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 测试未适配上游模块,跳过 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40664 | 1 个月前 | |
test(fx):Add validation cases for torch._C._distributed_rpc._is_current_rpc_agent_set on NPU Co-authored-by: jingkai-2026<2450453975@qq.com> # message auto-generated for no-merge-commit merge: !43171 merge test/add-rpc-agent-set-validation-v2.12.0 into v2.12.0 test(fx):Add validation cases for torch._C._distributed_rpc._is_current_rpc_agent_set on NPU Created-by: jingkai-2026 Commit-by: jingkai-2026 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> 关联issue:https://gitcode.com/Ascend/pytorch/issues/2748 关联issue: https://gitcode.com/Ascend/pytorch/issues/2828 ### API 功能 torch._C._distributed_rpc._is_current_rpc_agent_set:检查当前 RPC agent 是否已初始化,返回 bool。 ### 用例完备性说明 PyTorch 社区在 test/ 目录下无针对此 API 的直接测试用例(grep 结果为 0),仅在 torch/testing/_internal/distributed/rpc/rpc_test.py 中有一处非直接的辅助引用。因此新增测试文件。 ### 新增用例 本次自写用例 test/distributed/rpc/test_rpc_agent_set.py,包含 3 个测试方法: | 测试方法 | 验证内容 | |---------|---------| | test_is_current_rpc_agent_set_import | 验证 API 可导入且 callable | | test_is_current_rpc_agent_set_default | 验证 RPC 未初始化时返回 False | | test_is_current_rpc_agent_set_after_init | 验证 init_rpc 后返回 True,shutdown 后恢复 False | ## 适配方案 该 API 为框架层 RPC 状态查询接口,与底层设备无关,直接可用,无需 NPU 适配。 ## 运行结果 NPU Ascend910B4 环境测试通过:  See merge request: Ascend/pytorch!43171 | 4 天前 | |
[feat]support shmemput/get Co-authored-by: pengqi<pengqi33@huawei.com> # message auto-generated for no-merge-commit merge: !36222 merge v2.12.0_symm into v2.12.0 [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!36222 | 2 个月前 | |
[bugfix]hcclwatchdog_save_status Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !42724 merge processgrouphccl_v2.12.0 into v2.12.0 [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!42724 | 9 小时前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35875 merge v2.12.0_lintrunner into v2.12.0 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 执行: lintrunner --all-files --take NEWLINE -a 修复换行符,不影响代码逻辑。 2. 屏蔽两个分布式用例,已提issue,给对应接口人跟踪。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35875 | 2 个月前 | |
[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 | 4 个月前 | |
[sync] PR-38965: 在A5机器调用div_时加参数rounding_mode=trunc Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !39167 merge sync-pr38965-divs_master-to-v2.12.0 into v2.12.0 [sync] PR-38965: 在A5机器调用div_时加参数rounding_mode=trunc Created-by: ascend-ds-bot Commit-by: xiaoqi-zhou Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/38965 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/2441 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[669448cb](https://gitcode.com/Ascend/pytorch/commit/669448cb78dfcc8442e2a16d4318ad49258860fa)|2026-06-23 15:34:11 +0800 CST|在A5机器调用div_时加参数rouding_mode=trunc<br>| See merge request: Ascend/pytorch!39167 | 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: !41486 merge npu_format_cast_v2.12.0 into v2.12.0 在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!41486 | 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: !41486 merge npu_format_cast_v2.12.0 into v2.12.0 在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!41486 | 1 个月前 | |
在A5上面跳过test_allgather_into_tensor.py中的两个用例 Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !38905 merge npu_format_cast_v2.12.0 into v2.12.0 在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!38905 | 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: !44702 merge reduce_support_more_dtype_v2.12.0 into v2.12.0 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!44702 | 8 小时前 | |
| 1 年前 | ||
| 1 年前 | ||
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: !38997 merge comm_p2p_v2.12.0 into v2.12.0 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!38997 | 1 个月前 | |
test: add Backend.Options API coverage Co-authored-by: nannan-2026<1794949109@qq.com> # message auto-generated for no-merge-commit merge: !43164 merge test-backend-options-v2.12.0 into v2.12.0 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 功能说明 torch._C._distributed_c10d.Backend.Options 是 PyTorch 分布式通信后端 Options 的基础配置类。 构造形式为: python Backend.Options(backend, timeout=default_timeout) 其中: 1. backend 为必选参数,表示分布式通信后端名称; 2. timeout 为可选参数,类型为 datetime.timedelta; 3. 未显式传入 timeout 时,默认值为 30 分钟; 4. backend 为只读属性; 5. _timeout 为可读写属性; 6. PyTorch v2.12.0 中还包含可读写属性 global_ranks_in_group 和 group_name。 ## 2. 修改内容 新增测试类: python TestBackendOptions 共新增以下 6 个测试方法: ### 2.1 test_init_with_default_and_explicit_timeout 验证: - 仅传入必选参数 backend; - 返回对象类型为 Backend.Options; - backend 属性与传入值一致; - 默认 _timeout 为 30 分钟; - timeout 支持位置参数; - timeout 支持关键字参数; - 显式超时与构造后的 _timeout 一致。 ### 2.2 test_init_with_boundary_values 验证: - backend 为空字符串; - timeout 为零; - timeout 为负数; - 边界值构造后的属性值与传入值一致。 ### 2.3 test_group_metadata_properties 验证 PyTorch v2.12.0 中的分组元数据属性: - global_ranks_in_group 默认值为空列表; - group_name 默认值为空字符串; - global_ranks_in_group 支持写入 rank 列表; - group_name 支持写入分组名称; - 写入后读取结果与设置值一致。 ### 2.4 test_property_access_and_instance_independence 验证: - backend 为只读属性; - 对 backend 赋值时抛出 AttributeError; - _timeout 为可写属性; - 修改一个实例的 _timeout 不影响其他实例; - 不同构造调用产生相互独立的对象。 ### 2.5 test_invalid_constructor_arguments 验证: - 缺少必选参数 backend; - backend 传入 None、整数、列表或字典; - timeout 传入 None、整数、字符串、列表或字典; - 传入额外位置参数; - 传入未定义关键字参数。 ### 2.6 test_invalid_timeout_assignment 验证: - 向 _timeout 写入 None、整数、字符串、列表或字典时抛出 TypeError; - 非法赋值后,原有 _timeout 值保持不变。 ## 3. 测试实现规范 新增测试符合以下要求: 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。 ## 4. PyTorch 社区用例情况及新增必要性 已检查 PyTorch 官方社区测试代码。 官方源码和测试中存在以下间接相关内容: - 具体分布式后端 Options 类使用或继承相关基础配置; - 部分 DeviceMesh 测试使用 C10dBackend.Options 作为类型标注; - 部分测试使用具体后端 Options,例如 ProcessGroupNCCL.Options。 但是,现有社区测试未针对以下精确 API 提供直接、完整的 Python 行为 验证: python torch._C._distributed_c10d.Backend.Options 现有上游测试未充分覆盖: - backend 必选参数; - timeout 可选参数; - 默认超时; - 位置参数与关键字参数; - 空后端名称、零超时和负超时; - backend 只读行为; - _timeout 可写行为; - 不同实例之间的状态独立性; - global_ranks_in_group 的默认值及读写行为; - group_name 的默认值及读写行为; - 缺少参数、多余参数和非法参数类型; - _timeout 非法赋值后的状态保持行为。 现有继承关系、类型标注和间接使用不能替代目标 API 的直接一致性验证。 因此,有必要在 Ascend for PyTorch 的 test 目录新增独立专项测试。 ## 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 的目标 API 能力一致,对应测试文件内容一致; 4. 修正后的 master 测试范围也与当前 PyTorch 2.13.0 实际接口保持一致; 5. 各分支测试差异来自 PyTorch 上游接口演进,不是测试覆盖遗漏。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及资料文件修改。 已检查 Ascend for PyTorch master 分支下的原生 API 资料目录: text docs/zh/api/native_api 目标 API 位于: text torch._C._distributed_c10d 其中 torch._C 和 _distributed_c10d 均属于 PyTorch 内部实现模块, 目标 API 属于 PyTorch 私有接口,不是客户可见的公开 API。 根据 Torch-NPU API 一致性任务要求,PyTorch 私有接口不需要在公开原生 API 支持清单中补充资料。 因此,本任务无需新增 Docs PR,也不修改资料目录。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。 本 PR 仅新增: text test/distributed/test_backend_options.py 用于验证: python torch._C._distributed_c10d.Backend.Options 本 PR 未修改目标 API 的: - API 名称; - 构造函数签名; - 输入参数; - 默认参数; - 属性定义; - 返回行为; - 异常行为; - Python 绑定; - 底层 C++ 实现。 本 PR 不涉及跨代码仓修改,也不涉及客户可见接口变更。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ## 1. 验证分支和提交 目标分支: text v2.12.0 测试分支: text test-backend-options-v2.12.0 测试提交: text 2cfb1d2b750c980c055fe2d1632a592a42e29db0 验证前已确认本地与远端提交一致: text Local commit: 2cfb1d2b750c980c055fe2d1632a592a42e29db0 Remote commit: 2cfb1d2b750c980c055fe2d1632a592a42e29db0 本提交仅新增: text test/distributed/test_backend_options.py ## 2. 测试环境 本次验证使用与目标分支匹配的独立 Python 环境: text Python executable: /workspace/venvs/api3205-v2_12_0/bin/python Python: 3.11.13 torch: 2.12.0+cu130 Expected torch: 2.12.0 Torch version match: True 其中: text +cu130 是当前安装的 PyTorch wheel 构建标识。 目标 API 不执行 CUDA 算子,本测试也不依赖 CUDA 设备。 ## 3. NPU 适配说明 目标 API 是分布式后端配置对象,不接收 PyTorch Tensor,也不执行: - NPU 算子; - NPU Kernel; - CUDA 算子; - HCCL 集合通信; - CPU/NPU 数据迁移; - 与 dtype、shape 或 device 有关的计算。 因此,本测试不创建与目标 API 无关的 NPU Tensor,也不初始化 HCCL 进程组。 验证时设置: text TORCH_DEVICE_BACKEND_AUTOLOAD=0 用于避免在独立版本环境中自动加载与目标配置类无关的设备后端。 该设置不会跳过或替代 Backend.Options 的任何接口行为验证。 本次版本验证不依赖 torch_npu、CUDA 或 NPU 算子执行,验证对象为目标 API 的 Python 绑定及属性行为。 ## 4. API 探针 实际环境探针结果: text version_label: v2.12.0 python: /workspace/venvs/api3205-v2_12_0/bin/python torch: 2.12.0+cu130 expected_torch: 2.12.0 torch_version_match: True 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 属性行为探针结果: text backend_assignment_result: AttributeError property of 'Backend.Options' object has no setter timeout_assignment_result: 0:00:07 timeout_changed: True global_ranks_in_group_default: [] global_ranks_in_group_updated: [0, 2, 4] group_name_default: '' group_name_updated: 'api3207-test-group' API probe exit code: 0 以上结果说明: 1. 目标对象类型正确; 2. 默认 backend 和 _timeout 正确; 3. backend 为只读属性; 4. _timeout 支持修改; 5. global_ranks_in_group 支持读写; 6. group_name 支持读写; 7. 目标 API 在 PyTorch 2.12.0 环境中真实存在并符合预期。 ## 5. 测试方法检查 实际检测到以下 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 Expected test count: 6 Actual test count: 6 Test method inspection exit code: 0 ## 6. Python 语法检查 执行命令: bash PYTHONDONTWRITEBYTECODE=1 \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ /workspace/venvs/api3205-v2_12_0/bin/python \ -m py_compile \ /tmp/api3207_all_versions_latest/v2_12_0/test_backend_options.py 执行结果: text py_compile exit code: 0 ## 7. Git 差异检查 执行命令: bash git diff --check \ test-backend-options-v2.12.0^ \ test-backend-options-v2.12.0 \ -- test/distributed/test_backend_options.py 执行结果: text git diff --check exit code: 0 ## 8. unittest 验证 执行命令: bash cd /tmp PYTHONPATH= \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ PYTHONDONTWRITEBYTECODE=1 \ /workspace/venvs/api3205-v2_12_0/bin/python \ /tmp/api3207_all_versions_latest/v2_12_0/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.2 s OK 执行结果: text unittest exit code: 0 ## 9. pytest 验证 执行命令: bash cd /tmp PYTHONPATH= \ TORCH_DEVICE_BACKEND_AUTOLOAD=0 \ PYTHONDONTWRITEBYTECODE=1 \ /workspace/venvs/api3205-v2_12_0/bin/python \ -m pytest -q \ /tmp/api3207_all_versions_latest/v2_12_0/test_backend_options.py 实际结果: text ...... [100%] 6 passed, 14 subtests passed in 4.345 s 执行结果: text pytest exit code: 0 ## 10. 验证结果汇总 text ENV_EXIT=0 METHOD_PARSE_EXIT=0 API_EXIT=0 COMPILE_EXIT=0 DIFF_EXIT=0 UNITTEST_EXIT=0 PYTEST_EXIT=0 最终结果: text RESULT: API #3207 v2.12.0 validation PASSED  完整日志: text /workspace/api3207_all_versions_latest/v2_12_0.log ## 11. 四版本验证说明 本任务分别在以下目标版本环境执行测试: text v2.7.1 v2.11.0 v2.12.0 master 每个版本均使用对应分支、对应 PyTorch 版本和独立运行日志,不使用其他 版本的运行结果代替当前分支验证结果。 四版本汇总文件: text /workspace/api3207_all_versions_latest/all_versions_summary.md # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43164 | 8 天前 | |
| 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 个月前 | |
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: !42950 merge test-process-group-mpi-create-v2.12.0 into v2.12.0 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等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 <!-- api-validation-evidence:start --> ## NPU 功能验证补充 以下为当前 PR head commit 对应的单卡 NPU 实测环境、命令和结果: text TASK 99 / PR #42950 / VALIDATION EVIDENCE API=torch.distributed.distributed_c10d.ProcessGroupMPI.create TARGET_BRANCH=v2.12.0 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 2.12.0 sources/review/task99-v2.12.0/test/distributed/test_c10d_mpi.py -v RESULT: Ran 18 tests in 0.181s OK (skipped=14) test_exit_code=0 NOTE=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等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42950 | 5 天前 | |
| 1 年前 | ||
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 | 6 个月前 | |
| 2 年前 | ||
| 1 年前 | ||
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
reduce scatter support tensorlist.size != world_size Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44436 merge reduce_scatter_v2.12.0 into v2.12.0 reduce scatter support tensorlist.size != world_size Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本提案修改 torch_npu 的 ProcessGroupHCCL::reduce_scatter,使其输入支持范围与 PyTorch 社区(NCCL)保持一致。 PyTorch 2.2 的 reduce_scatter 对输入张量列表有形状/计数约束(列表长度须等于 world_size、每张量 numel 须等于输出 numel 等),2.3 起去除了这些约束。pta(torch_npu)当前的 reduce_scatter 与 PyTorch 2.2 实现一致:输入是 tensor list,包含多个 tensor,数量与卡数一致。这与社区后续版本不一致,需要兼容输入只有一个 tensor 的场景等用例,和社区保持一致。 核心改动:在 reduce_scatter 的 same_size 分支新增展平函数 flatten_for_reduce_scatter,替代原先复用的 flatten_for_scatter_gather——移除"输入张量数须等于 world_size""每张量 numel 须等于输出 numel"两条校验,保留列表长度一致与 input/output 同设备校验,并新增非空检查。Python 层 torch.distributed.reduce_scatter 签名不变。) 各输入形态数值示例 统一 world_size=4、output=[4]、fp32、SUM,输入约定同 §2.1(rank r 展平后第 k 元 = r*10+k)。need = 16(输出 numel × world_size);全局位置 p 的归约值在 p < have 时为 60+4p,p ≥ have 时零填充。下文列出每个 rank 的输入与输出。 **① 单 tensor**(input_list = [[16]],have = 16 = need): rank0 IN : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] OUT: [60,64,68,72] rank1 IN : [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25] OUT: [76,80,84,88] rank2 IN : [20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35] OUT: [92,96,100,104] rank3 IN : [30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45] OUT: [108,112,116,120] **② 张量数 < 卡数**(input_list = [[4],[4]],have = 8 < 16,尾部两 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [0,0,0,0] OUT: [0,0,0,0] **③ 张量数 > 卡数**(input_list = [[4]]*5,have = 20 > 16,第 5 个张量整体忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] **④ 张量数 = 卡数,每张量 > 输出**(input_list = [[5]]*4,have = 20 > 16,展平后尾部 4 元忽略): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2, 3, 4] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [5, 6, 7, 8, 9] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [10,11,12,13,14] [20,21,22,23,24] [30,31,32,33,34] [40,41,42,43,44] [15,16,17,18,19] [25,26,27,28,29] [35,36,37,38,39] [45,46,47,48,49] ← 后4元忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] 展平后每 rank 共 20 元,前 16 元参与归约,尾部 4 元(第 4 个张量的后 4 元)忽略。 **⑤ 张量数 = 卡数,每张量 < 输出**(input_list = [[3]]*4,have = 12 < 16,尾部 rank 零填充): rank0 IN: rank1 IN: rank2 IN: rank3 IN: [0, 1, 2] [10,11,12] [20,21,22] [30,31,32] [3, 4, 5] [13,14,15] [23,24,25] [33,34,35] [6, 7, 8] [16,17,18] [26,27,28] [36,37,38] [9,10,11] [19,20,21] [29,30,31] [39,40,41] OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [0,0,0,0] **⑥ 2D 及多维**(input_list = [[5,4]],have = 20 > 16,展平后尾部 4 元忽略,同 ③): rank0 IN (shape [5,4]): rank1 IN (shape [5,4]): rank2 IN (shape [5,4]): rank3 IN (shape [5,4]): [0, 1, 2, 3] [10,11,12,13] [20,21,22,23] [30,31,32,33] [4, 5, 6, 7] [14,15,16,17] [24,25,26,27] [34,35,36,37] [8, 9,10,11] [18,19,20,21] [28,29,30,31] [38,39,40,41] [12,13,14,15] [22,23,24,25] [32,33,34,35] [42,43,44,45] [16,17,18,19] [26,27,28,29] [36,37,38,39] [46,47,48,49] ← 忽略 OUT: [60,64,68,72] OUT: [76,80,84,88] OUT: [92,96,100,104] OUT: [108,112,116,120] # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 1、基础功能验证 2、dtype*op*tensorshape(1D,2D)*input_tensor_list.size(==,>,< world_size)*all_input_numbel(==, >, < )all_output_numbel reduce_scatter算子输出与gpu结果对比  3、性能验证,修改前后pta调用reduce_scatter,用时基本无变化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44436 | 5 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
test: verify community 2.11.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36311 merge v2.12.0_verify_distributed into v2.12.0 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!36311 | 2 个月前 | |
| 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: !35573 merge collstreamid/v2.12.0 into v2.12.0 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_coll_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!35573 | 3 个月前 | |
feat: add get_p2p_stream_id interface for HCCL backend Co-authored-by: pengjingyou<pengjingyou@huawei.com> # message auto-generated for no-merge-commit merge: !32199 merge p2p_stream_master into master feat: add get_p2p_stream_id interface for HCCL backend Created-by: pengjingyou Commit-by: pengjingyou Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 为 HCCL 后端新增 get_p2p_stream_id 接口,用于获取 P2P 通信的 NPU stream ID,方便用户在分布式训练场景下进行 stream 级别的同步和管理。 # 【修改方案】 1. 新增 C++ 方法 getP2PStreamId 在 ProcessGroupHCCL 类中新增 getP2PStreamId 方法,支持两种模式: - 批量模式 (is_batched=1) :使用 getKeyFromDevices 生成 key,适用于 batch_isend_irecv 场景 - 非批量模式 (is_batched=0) :使用 getKeySendRecv 生成 key,适用于单独的 send/recv 场景 2. 新增 Python 绑定 在 Init.cpp 中添加 Python 绑定,暴露 get_p2p_stream_id 接口到 Python 层 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 | 接口名称 | 参数 | 返回值 | 说明 | | ---------------------------------- | ------------------------------------------------------------ | -------------------------------- | ------------------------- | | ProcessGroupHCCL.get_p2p_stream_id | device: torch.device - NPU <br>设备 peer: int - 对端 rank <br>is_batched: int - 是否批量模式 (1=批量, 0=非批量) | int - stream ID,不存在时返回 -1 | 获取 P2P 通信的 stream ID | # 【功能验证】 1. ut验证 新增测试文件 test/distributed/test_get_p2p_stream_id.py ,包含以下测试场景: | 测试用例 | 说明 | | ------------------------------ | ---------------------------------------------- | | test_p2p_stream_id_batched | 测试批量模式 (is_batched=1) 下获取 stream ID | | test_p2p_stream_id_non_batched | 测试非批量模式 (is_batched=0) 下获取 stream ID | | test_p2p_stream_id_invalid | 测试未构造p2p stream场景下获取 stream ID 非法值-1 | python -m pytest test/distributed/test_get_p2p_stream_id.py  2. 业务场景验证 调用dist.send/recv方法进行p2p通信后,通过该新增接口get_p2p_stream_id()获取p2p stream id,拿到id对应的Stream实例,指定在该Stream上进行计算操作。 通过profiling文件可以看到计算在p2p stream上进行  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32199 | 4 个月前 | |
feat: add _group_start and _group_end bindings for ProcessGroupHCCL from v2.12.0 Co-authored-by: Chansinging<1183520536@qq.com> # message auto-generated for no-merge-commit merge: !43026 merge feat/add-hccl-group-start-end-bindings-v2.12.0 into v2.12.0 feat: add _group_start and _group_end bindings for ProcessGroupHCCL from v2.12.0 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43026 | 6 天前 | |
fix(test): correct expected buffer size calculation in test_hccl_shared_buffer Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !39511 merge hccl_shared_ut_v2.12.0 into v2.12.0 fix(test): correct expected buffer size calculation in test_hccl_shared_buffer Created-by: limuan Commit-by: limuan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 用例中,原来内存占用的预期值为:groupnum*buffer_size + tol (tol为100,在通信域较多,可能无法coverbuffersize外的通信域内存开销),现在改为 每个通信域多预留100MB,100MB远远小于用例本身buffersize的400MB,可以看护共享内存功能 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 修改后用例通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39511 | 1 个月前 | |
| 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: !36918 merge v2.12.0_distributed_testcase_verify into v2.12.0 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!36918 | 2 个月前 | |
| 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: !37661 merge sync-pr36922-pr_test_primary_ctx-to-v2.12.0 into v2.12.0 [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!37661 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
test: verify community 2.11.0 features and fixes Co-authored-by: chenkun<chenkun82@huawei.com> # message auto-generated for no-merge-commit merge: !36311 merge v2.12.0_verify_distributed into v2.12.0 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!36311 | 2 个月前 | |
| 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: !44702 merge reduce_support_more_dtype_v2.12.0 into v2.12.0 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!44702 | 8 小时前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44702 merge reduce_support_more_dtype_v2.12.0 into v2.12.0 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!44702 | 8 小时前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44702 merge reduce_support_more_dtype_v2.12.0 into v2.12.0 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!44702 | 8 小时前 | |
A5 dtype: make checkSupportedDataType accept uint64/fp64 on Ascend950+ Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !44702 merge reduce_support_more_dtype_v2.12.0 into v2.12.0 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!44702 | 8 小时前 | |
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: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
| 1 年前 | ||
[bugfix]hcclwatchdog_save_status Co-authored-by: xiaoqi-zhou<zhouxiaoqi9@h-partners.com> # message auto-generated for no-merge-commit merge: !42724 merge processgrouphccl_v2.12.0 into v2.12.0 [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!42724 | 9 小时前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
fix: gate createSubHcclComm behind ROOTINFO_SUBCOMM_ENABLE env var Co-authored-by: limuan<liyijie16@huawei.com> # message auto-generated for no-merge-commit merge: !40481 merge fix_resumcomm_v2.12.0 into v2.12.0 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!40481 | 1 天前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !36367 merge v2.12.0_lintrunner into v2.12.0 [Fix] Fix static check errors detected by SPACES Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36367 | 2 个月前 | |
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 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 5 天前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 12 天前 | ||
| 3 天前 | ||
| 5 天前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 4 天前 | ||
| 2 个月前 | ||
| 9 小时前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 8 小时前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 8 天前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 5 天前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 5 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 6 天前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 8 小时前 | ||
| 8 小时前 | ||
| 8 小时前 | ||
| 8 小时前 | ||
| 7 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 9 小时前 | ||
| 2 个月前 | ||
| 1 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 8 个月前 |