| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
Skip old torch(<=2.2) test case in test/dynamo/test_activate_checkpoint.py Co-authored-by: zhangafei<zhangafei@huawei.com> # message auto-generated for no-merge-commit merge: !37357 merge master into master Skip old torch(<=2.2) test case in test/dynamo/test_activate_checkpoint.py Created-by: HandsoemLemon Commit-by: zhangafei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [Bug]: 26.1.0版本图模式Bug修复:https://gitcode.com/Ascend/pytorch/issues/1962 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 当前测试用例为对2024年1月pytorch 2.2版本测试用例,其中存在大量与现版本API不一致问题,修改用例,检测当时torch若大于2.2,则跳过部分用例。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37357 | 3 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
fix: 修复 lazy 编译器代理子模块导入兼容性(#4222) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !45013 merge fix4222_master into master fix: 修复 lazy 编译器代理子模块导入兼容性(#4222) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > https://gitcode.com/Ascend/pytorch/issues/4222 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 抽取公共子模块绑定逻辑,扫描已加载的独立包子模块。 2. 同步绑定到 lazy proxy 和真实包对象,兼容 npugraph_ex、torchair 顶层绝对导入。 3. 新增回归用例覆盖 import npugraph_ex / import torchair 及 _optimize_fx 加载路径。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 已执行 python3 -m py_compile torch_npu/dynamo/__init__.py test/dynamo/test_compile_trigger.py。 - 已执行 git diff --check。 - 新增 UT 覆盖两个 lazy proxy 的顶层导入、子模块导入及真实包属性同步。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45013 | 18 天前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
[ut] add test_deprecated_inline_inbuilt_nn_modules.py Co-authored-by: AACAES<liuyan7892@163.com> # message auto-generated for no-merge-commit merge: !40320 merge master into master [ut] add test_deprecated_inline_inbuilt_nn_modules.py Created-by: AACAES Commit-by: AACAES Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2628 - [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!40320 | 2 个月前 | |
[feat] deterministic_level: add graph-mode guard and EX scope API Co-authored-by: ChengLyric<licheng236@huawei.com> # message auto-generated for no-merge-commit merge: !41762 merge feature/deterministic-level-graph-mode into master [feat] deterministic_level: add graph-mode guard and EX scope API Created-by: Guanam2020 Commit-by: ChengLyric Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、新增 torch_npu.dynamo._deterministic_guard.install_npu_deterministic_level_guard()。在 Dynamo 的 TracingContext.guards_context.dynamo_guards 中注册 Lambda Guard。 2、新增 torch_npu._inductor.deterministic_cache,在 AscendC 编译 scope 内 patch。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验证ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41762 | 1 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
test: add functional export tests for NPU Co-authored-by: PAGEMRW<985608880@qq.com> # message auto-generated for no-merge-commit merge: !41798 merge test-functional-export-master into master test: add functional export tests for NPU Created-by: PAGEMRW Commit-by: PAGEMRW Merged-by: ascend-robot Description: 关联 Issue:#3011 【合入来源】 Issue #3011:补充 TorchDynamo 相关 API 的独立验证用例。 PyTorch 社区现有用例主要在 torch.export 等上层流程中间接使用 TorchDynamo 图捕获能力,缺少针对以下两个 API 的独立、聚焦验证: - torch._dynamo.functional_export.dynamo_graph_capture_for_export - torch._dynamo.utils.is_compile_supported 因此,本次新增测试文件: text test/dynamo/test_functional_export.py 用于验证上述 API 的核心功能和主要判断分支。 版本适配范围如下: 1. torch._dynamo.functional_export.dynamo_graph_capture_for_export:PyTorch 2.10.0 及以上版本; 2. torch._dynamo.utils.is_compile_supported:PyTorch 2.7.1、2.8.0、2.9.0、2.10.0 和 2.11.0。 【修改方案】 一、API 功能说明 1. torch._dynamo.functional_export.dynamo_graph_capture_for_export 该 API 是 TorchDynamo functional export 流程中的图捕获入口,主要功能包括: - 接收普通 Python 函数、可调用对象或 torch.nn.Module; - 通过 TorchDynamo 的完整图捕获流程获取计算图; - 将捕获结果构造为 torch.fx.GraphModule; - 支持位置参数、关键字参数和 PyTree 输入输出结构; - 保留模块参数、缓冲区和子模块等必要状态; - 保证捕获图与原始函数或模块的计算语义一致; - 维护 export 后续流程所需的输入输出结构及图元数据。 1. torch._dynamo.utils.is_compile_supported 该 API 用于根据当前 Python 运行环境和指定设备类型,判断 TorchDynamo 编译流程是否具备基础支持条件,主要逻辑包括: - 调用 torch._dynamo.eval_frame.is_dynamo_supported() 检查当前环境是否支持 TorchDynamo; - 对 cpu 返回当前环境的 Dynamo 支持状态; - 对 cuda 等设备同时检查 Dynamo 和 Triton 是否可用; - 对未注册的设备类型返回 False; - 较新版本支持通过 torch.device(device_type).type 规范化设备类型; - 查询过程不会创建张量、初始化设备或执行实际编译任务。 二、测试用例说明 新增的 test_functional_export.py 从图捕获能力、结果一致性、模块兼容性、设备判断分支和 Mock 隔离性等方面验证上述两个 API。 1. dynamo_graph_capture_for_export 测试 (1)普通函数图捕获 使用包含基础张量运算的普通 Python 函数进行验证: - 调用 dynamo_graph_capture_for_export 获取图捕获函数; - 使用示例张量执行图捕获; - 验证返回对象为 torch.fx.GraphModule; - 分别执行原始函数和捕获后的图; - 验证两者输出结果一致。 该测试验证 API 能够接收普通可调用对象、完成 TorchDynamo 图捕获并返回语义一致的 FX 图。 (2)nn.Module 图捕获 构造包含参数和缓冲区的简单 torch.nn.Module,验证: - 模块前向计算能够被正常捕获; - 捕获结果为可执行的 torch.fx.GraphModule; - 原始模块与捕获图在相同输入下输出一致; - 模块参数和缓冲区能够正确参与捕获后的计算。 测试主要关注 API 的外部行为,不依赖 FX 图内部自动生成的节点名称或具体图结构,避免因上游内部实现调整产生非功能性失败。 1. is_compile_supported 测试 (1)CPU 支持分支 test_cpu_supported_when_dynamo_is_supported: - Mock is_dynamo_supported() 返回 True; - 调用 is_compile_supported("cpu"); - 验证返回值为 True; - 验证底层环境检查函数被调用一次。 test_cpu_unsupported_when_dynamo_is_unsupported: - Mock is_dynamo_supported() 返回 False; - 调用 is_compile_supported("cpu"); - 验证返回值为 False。 (2)CUDA 与 Triton 联合判断分支 test_cuda_supported_with_triton: - Mock is_dynamo_supported() 返回 True; - Mock has_triton() 返回 True; - 调用 is_compile_supported("cuda"); - 验证返回值为 True; - 验证两项检查均被正确调用。 test_cuda_unsupported_without_triton: - Mock is_dynamo_supported() 返回 True; - Mock has_triton() 返回 False; - 调用 is_compile_supported("cuda"); - 验证返回值为 False。 (3)未注册设备分支 test_npu_returns_false: - Mock is_dynamo_supported() 返回 True; - 调用 is_compile_supported("npu"); - 验证返回值为 False。 对应版本的 PyTorch 上游实现未将 npu 加入该函数内置的编译设备类型列表,因此该测试用于验证未注册设备进入默认分支并返回 False,保证 torch-npu 仓库中的行为与对应上游版本一致。 该结果仅表示 is_compile_supported 当前未注册 npu 设备类型,不代表 torch-npu 整体不具备编译能力。 1. Mock 隔离性 is_compile_supported 的结果会受到 Python 版本、TorchDynamo 可用状态和 Triton 安装情况影响。 测试使用 unittest.mock.patch 控制以下函数的返回值: text torch._dynamo.eval_frame.is_dynamo_supported torch._dynamo.utils.has_triton 从而实现: - 不依赖测试机器是否安装 CUDA、NPU 或 Triton; - 不依赖当前 Python 环境是否真实支持 TorchDynamo; - 稳定覆盖各个条件分支; - 验证底层依赖函数的调用关系; - 避免不同 CI 环境配置造成测试结果波动。 每个 Mock 仅在对应测试方法执行期间生效,测试结束后自动恢复,不会造成跨用例状态污染。 综上,该测试文件覆盖: - 普通函数的 TorchDynamo 图捕获; - nn.Module 的图捕获; - torch.fx.GraphModule 返回类型; - 捕获前后计算结果一致性; - 模块参数和缓冲区兼容性; - CPU 支持与不支持分支; - CUDA 与 Triton 联合判断分支; - NPU 等未注册设备的默认处理分支; - Mock 调用关系及测试环境隔离性。 三、NPU 适配说明 本次测试不需要修改 API 实现,也不需要在测试文件中增加 import torch_npu 或将测试张量迁移至 NPU。 1. 图捕获流程与具体计算后端解耦 dynamo_graph_capture_for_export 的主要职责是调用 TorchDynamo 捕获 Python 函数或模块的计算图,并构造 FX GraphModule。 本次测试目标是验证: - API 能否完成图捕获; - 返回结果是否为可执行的 GraphModule; - 捕获结果是否与原始程序保持语义一致; - 模块参数和缓冲区是否能够被正确保留。 这些功能主要位于 Python、TorchDynamo、FakeTensor 和 FX 图处理层,不直接验证 NPU 算子执行能力,因此无需将输入张量修改为 .npu()。 1. 避免扩大测试范围 如果强制增加: python import torch_npu 或将输入张量修改为: python tensor.npu() 测试范围将由 TorchDynamo API 验证扩大为多个组件的集成验证,包括: - torch-npu 后端加载; - NPU 设备初始化; - PrivateUse1 调度; - NPU 算子注册; - FakeTensor 或 Meta 支持; - 实际硬件、驱动和算子环境。 这些内容不属于本次 API 级测试的验证目标。 保留 CPU 张量能够使测试聚焦于图捕获接口本身,并支持在无 NPU 硬件的普通 CI 环境中稳定运行。 1. is_compile_supported 不执行硬件计算 该 API 仅检查环境能力和设备类型,不会: - 创建 CPU、CUDA 或 NPU 张量; - 初始化 NPU 设备; - 执行计算算子; - 分配 NPU 显存; - 启动实际编译任务或设备通信。 测试又通过 Mock 固定 Dynamo 和 Triton 状态,因此测试结果不依赖实际硬件环境。 1. 不涉及底层 NPU 适配 本次仅新增 UT 测试文件,不涉及: - ATen 算子实现; - PrivateUse1 算子注册; - NPU Kernel; - ACLNN 接口; - NPU 内存格式转换; - HCCL 通信; - C++ 扩展; - Python API 实现修改。 因此,本次无需新增 NPU 算子或修改 torch-npu 后端实现。 【资料变更】 不涉及。 本次仅新增 API 级 UT 测试,不新增、删除或修改公开 API,也不改变现有接口的参数、返回值、异常行为或使用方式。 torch._dynamo.functional_export.dynamo_graph_capture_for_export 仅在包含该 API 的 PyTorch 2.10.0 及以上版本中新增测试;低版本不增加该 API 的测试或资料声明。 现有 API 支持资料无需调整,因此不需要修改 docs/zh/native_apis 等接口资料。 【接口变更】 不涉及。 本次未修改: - dynamo_graph_capture_for_export 的函数签名; - dynamo_graph_capture_for_export 的返回类型; - is_compile_supported 的函数签名; - is_compile_supported 的设备判断逻辑; - 其他现有 TorchDynamo API 的行为。 本次仅新增独立 UT 测试文件,对现有 API 进行功能看护。 【功能验证】 本次采用常规 Python UT 测试方式,通过 torch.testing._internal.common_utils.TestCase 编写测试,并使用 run_tests() 统一执行。 测试文件: text test/dynamo/test_functional_export.py 执行命令: bash python test/dynamo/test_functional_export.py 一、PyTorch 2.7.1、2.8.0 和 2.9.0 上述版本仅验证: text torch._dynamo.utils.is_compile_supported 由于这些版本中不存在: text torch._dynamo.functional_export.dynamo_graph_capture_for_export 因此低版本测试文件不导入或调用该 API,避免产生 ImportError。 共执行 5 个测试用例,日志如下: text test_cpu_supported_when_dynamo_is_supported (test_functional_export_v1.TestIsCompileSupported.test_cpu_supported_when_dynamo_is_supported) ... ok test_cpu_unsupported_when_dynamo_is_unsupported (test_functional_export_v1.TestIsCompileSupported.test_cpu_unsupported_when_dynamo_is_unsupported) ... ok test_cuda_supported_with_triton (test_functional_export_v1.TestIsCompileSupported.test_cuda_supported_with_triton) ... ok test_cuda_unsupported_without_triton (test_functional_export_v1.TestIsCompileSupported.test_cuda_unsupported_without_triton) ... ok test_npu_returns_false (test_functional_export_v1.TestIsCompileSupported.test_npu_returns_false) ... ok ---------------------------------------------------------------------- Ran 5 tests in 0.008s OK 二、PyTorch 2.10.0 和 2.11.0 上述版本执行完整测试文件,验证: text torch._dynamo.functional_export.dynamo_graph_capture_for_export torch._dynamo.utils.is_compile_supported 测试包括: - 2 个 dynamo_graph_capture_for_export 核心功能用例; - 5 个 is_compile_supported 条件分支用例。 共执行 7 个测试用例,日志如下: text test_capture_module_with_parameter_and_buffer (test_functional_export_v2.TestDynamoGraphCaptureForExport.test_capture_module_with_parameter_and_buffer) ... ok test_capture_simple_function (test_functional_export_v2.TestDynamoGraphCaptureForExport.test_capture_simple_function) ... ok test_cpu_supported_when_dynamo_is_supported (test_functional_export_v2.TestIsCompileSupported.test_cpu_supported_when_dynamo_is_supported) ... ok test_cpu_unsupported_when_dynamo_is_unsupported (test_functional_export_v2.TestIsCompileSupported.test_cpu_unsupported_when_dynamo_is_unsupported) ... ok test_cuda_supported_with_triton (test_functional_export_v2.TestIsCompileSupported.test_cuda_supported_with_triton) ... ok test_cuda_unsupported_without_triton (test_functional_export_v2.TestIsCompileSupported.test_cuda_unsupported_without_triton) ... ok test_npu_returns_false (test_functional_export_v2.TestIsCompileSupported.test_npu_returns_false) ... ok ---------------------------------------------------------------------- Ran 7 tests in 1.278s OK 测试结果表明: - 所有测试用例均执行通过; - 捕获结果为 torch.fx.GraphModule; - 捕获图与原始函数或模块的输出一致; - 模块参数和缓冲区能够正确参与计算; - is_compile_supported 的各条件分支返回结果符合预期; - Mock 依赖函数的调用次数符合预期; - 未出现 FAIL、ERROR 或 ImportError。 See merge request: Ascend/pytorch!41798 | 12 天前 | |
| 2 年前 | ||
| 2 年前 | ||
[sync] PR-34962: add testcase test_guard_control for dynamo tests. Co-authored-by: rmch<chenruimin2@huawei.com> # message auto-generated for no-merge-commit merge: !35011 merge sync-pr34962-v2.10.0-0507-to-master into master [sync] PR-34962: add testcase test_guard_control for dynamo tests. Created-by: ascend-ds-bot Commit-by: rmch Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/34962 ### 2. Original pull request related issue(s): ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[9c39a7df](https://gitcode.com/Ascend/pytorch/commit/9c39a7df118f645f7661a7eeda50f9e426e81c62)|2026-05-07 17:02:17 +0800 CST|add testcase test_guard_control for dynamo tests.<br><br>Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com><br>| See merge request: Ascend/pytorch!35011 | 4 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
[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 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
Provides npugraph_ex APIs for user-defined backends and passes Co-authored-by: xuzhenhua2025<xuzhenhua4@huawei.com> # message auto-generated for no-merge-commit merge: !30229 merge master into master fix: npugraph_ex补充用户自定义backend和自定义pass缺失的接口 Created-by: xuzhenhua2025 Commit-by: xuzhenhua2025 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. npugraph_ex补充用户自定义backends接口 2. npugraph_ex补充用户自定义passes相关接口 2.1 补充注册replacement接口 2.2 补充自定义pass流record接口 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已在新版本资料中补充接口说明,资料配套发布。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 1. 补充user-defined backends接口 python def my_backend(gm: torch.fx.GraphModule, example_inputs): compiler = torch.npu.npugraph_ex.compile_fx() return aot_module_simplified(gm, example_inputs, fw_compiler=compiler) 2. 补充user-defined passes接口 python torch.npu.npugraph_ex.register_replacement( search_fn=search_fn, replace_fn=replace_fn, example_inputs=(input_tensor(), input_tensor(), kwargs_tensor()), extra_check=extra_check ) python # record and wait should be used in pairs with torch.npu.npugraph_ex.scope.npu_stream_switch('1'): # ... record = torch.npu.npugraph_ex.ops.record() # ... torch.npu.npugraph_ex.ops.wait([record]) # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增测试用例看护: 1. compile_fx接口用例: /test/dynamo/test_npugraph_ex.TestNpuGraphEx.test_compile_fx 2. 自定义pass接口用例: /test/dynamo/test_npugraph_ex.TestNpuGraphEx.test_register_replacement /test/dynamo/test_npugraph_ex.TestNpuGraphEx.test_record_and_wait  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30229 | 6 个月前 | |
remove type patch Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !44110 merge 2608type_patch_remove into master remove type patch Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 删除call_method中对type的patch。 原生中已用if else分支支持npu设备: - method_type 的 else分支对 NPU 设备返回 VariableTracker.build(tx, "torch.{self.device.type}.{tensortype.__name__}") - VariableTracker.build 对字符串会调用 SourcelessBuilder.create(tx, value) - str 在 common_constant_types 中,所以 SourcelessBuilder.create 会创建 ConstantVariable(value) — 即 ConstantVariable("torch.{self.device.type}.{tensortype.__name__}") - 这和 patch 中的 ConstantVariable.create(f"torch.npu.{tensortype.__name__}") 完全等价 参考原生代码:https://github.com/pytorch/pytorch/blob/main/torch/_dynamo/variables/tensor.py 已确认社区2.13及以上都是if else结构,patch可以删除 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 否 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已本地验证UT # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44110 | 14 天前 | |
【bugfix】npugraph_ex.scope.limit_core_num增加默认参数stream Co-authored-by: wangkai<wangkai579@huawei.com> # message auto-generated for no-merge-commit merge: !38928 merge master into master 【bugfix】npugraph_ex.scope.limit_core_num增加默认参数stream Created-by: mihudan Commit-by: wangkai Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2445 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 torchair仓合入PR:【refeat】limit_core_num控核支持单算子和可选参数streamhttps://gitcode.com/Ascend/torchair/pull/3181 资料修改: 【doc】limit_core_num支持可选参数streamhttps://gitcode.com/Ascend/torchair/pull/3227 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” ex资料修改已合入 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” npugraph_ex接口增加默认参数,ex资料修改已合入,组内已检视 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已增加传入stream参数场景  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38928 | 2 个月前 | |
fix:Optimize the implementation of compile + npugraphs Co-authored-by: ygshen<ygshen@qq.com> # message auto-generated for no-merge-commit merge: !31759 merge npugrahps_opt into master fix:Optimize the implementation of compile + npugraphs Created-by: ygshen Commit-by: ygshen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 在优化前,每次推理都需要使用npugraph_mark_step_begin() 表示一轮新的迭代。否则一直处于warmup状态, 无法进入capture和replay状态。 在走读代码过程中,发现forward_npugraphs的参数is_inference表明是否为推理模式,但是在调用下级函数时直接写成固定值flase,导致该功能有问题。 在讨论过程,发现上游社区也做了优化: https://github.com/pytorch/pytorch/commit/627c7d6799444c200f22b8fa81eec7aca5281541 因此参照社区方案进行优化。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 优化前,用例执行失败: 截图如下:  优化后,用例执行成功:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31759 | 5 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
fix: add PyObject_ClearWeakRefs in NPU Stream/Event tp_dealloc Co-authored-by: xiu_21<caixiuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !41736 merge dealloc_m into master fix: add PyObject_ClearWeakRefs in NPU Stream/Event tp_dealloc Created-by: xiu_21 Commit-by: xiu_21 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PyTorch 基础类 THPStream / THPEvent 中增加了 weakref 支持(添加了 weakreflist 字段),但 NPU 后端的 tp_dealloc 覆盖函数未同步更新。 CPython 对静态 PyType 不会自动链式调用父类 tp_dealloc,因此 THNPEvent_dealloc 和 THNPStream_dealloc 一直缺少: 1. PyObject_ClearWeakRefs() — 未清理 weakref,导致 wr_object 悬空指向已释放内存 2. Py_CLEAR(self->context)(仅 Stream)— lazy stream context 泄漏 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 pytest test/dynamo/test_stream.py -k test_npu_stream_event_weakref_callback 修改前:  修改后:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41736 | 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 个月前 | |
| 2 年前 | ||
test:Add test cases for torch.compiler.compile Co-authored-by: yuhuan2580<wn0010240@163.com> # message auto-generated for no-merge-commit merge: !42092 merge torch.compiler.compile-master into master test:Add test cases for torch.compiler.compile Created-by: ljfnjj1234567 Commit-by: yuhuan2580 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 关联任务issue: https://gitcode.com/Ascend/pytorch/issues/2991 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 torch.compiler.compile (API 94) PyTorch 官方社区暂无针对该 API 的直接独立用例覆盖,因此自行编写用例并提交到 test 目录。 该 API 为纯 Python 实现,不涉及 NPU 适配,不需要代码修改。 新增 test/dynamo/test_torch_compiler_compile.py,验证 torch.compiler.compile 存在性、基本编译功能及模型编译功能 更新 docs/zh/native_apis/ 下所有版本的 torch-compiler.md,将 torch.compiler.compile 支持状态从"否"改为"是" # 【资料变更】 涉及。上游 PyTorch 在 test/dynamo/test_compile.py 中有相关测试,但未针对 torch.compiler.compile 公开 API 编写独立测试。本次提交补充了 3 个测试方法,覆盖 API 存在性、函数编译、Module 编译的核心行为,测试文件位于test/dynamo/test_torch_compiler_compile.py更新 docs/zh/native_apis/ 下 pytorch2-7-1 至 pytorch2-12-0 的 torch-compiler.md,将 torch.compiler.compile 标记为已支持。 # 【接口变更】 不涉及 # 【功能介绍】 torch.compiler.compile 是 PyTorch 2.x 引入的公开编译 API,用于将函数或 nn.Module 通过 TorchDynamo 进行即时编译优化。支持指定 backend(如 "eager"、"inductor" 等),返回编译后的可调用对象。 # 【功能验证】 test_torch_compiler_compile.py(torch.compiler.compile) 1.test_torch_compiler_compile_exists:验证torch.compiler.compile接口存在且可调用 2.test_torch_compiler_compile_basic:验证torch.compiler.compile对简单函数的编译功能正常 3.test_torch_compiler_compile_with_model:验证torch.compiler.compile对nn.Module模型的编译功能正常 运行命令: python -m pytest /workspace/user_data/pytorch-master/test/dynamo/test_torch_compiler_compile.py -xvs 2>&1 运行结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42092 | 1 个月前 | |
| 2 年前 | ||
[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 个月前 | |
[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 个月前 | |
[fix] dynamo原生支持record_stream Co-authored-by: fu-hao-huawei<fuhao16@huawei.com> # message auto-generated for no-merge-commit merge: !36544 merge master into master [fix] dynamo原生支持record_stream Created-by: fu-hao-huawei Commit-by: fu-hao-huawei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/2074 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ 去除torch2.12 版本对dynamo record_stream函数的patch > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已有ut看护 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36544 | 3 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 18 天前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 12 天前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 4 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 个月前 | ||
| 14 天前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |