已合并
fix: add nested tensor register header for to_padded_tensor #46265
fix: add nested tensor register header for to_padded_tensor #46265
已合并
yucaopanmu创建于 9月14日
yucaopanmu成员
9月14日

【合入来源】

【修改方案】

采用 双仓联动 的方式打通该路径:

  • pytorch(torch_npu)仓 在 codegen 层(torchnpugen/gen_backend_stubs.py)为 NestedTensorRegister 补充 to_padded_tensor 的注册,并引入 op_plugin/OpApiInterface.h 头文件,将算子注册到 NestedTensorPrivateUse1 dispatch key。
  • op-plugin 仓 在 op_api 命名空间中提供 to_padded_tensor 的 kernel 实现,复用 PyTorch 原生设备泛化实现 at::native::NestedTensor_to_padded_tensor_generic,完成实际的补齐转换。

【资料变更】

不涉及

【接口变更】

不涉及

【功能验证】

本地端到端验证已通过

【CheckList】

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 yucaopanmu 的贡献)
Yyucaopanmu成员
9月14日 创建了 pull request,commit 9c2fab4b
atomgit-bot
atomgit-bot
9月14日 评论:

变更摘要

本 PR 为嵌套张量(nested tensor)的算子注册补充必要的头文件,并新增 to_padded_tensor 算子的注册,修复该算子在代码生成(torchnpugen/gen_backend_stubs.py)过程中因缺少声明而无法编译/注册的问题。

主要改动

  • 新增头文件生成函数: 在 torchnpugen/gen_backend_stubs.py 中新增 _nestedtensor_register_header(),生成嵌套张量注册所需的头文件包含,始终引入 op_plugin/OpApiInterface.h,在非 aclnn 扩展代码生成(_is_aclnn_extension_codegen())时追加 op_plugin/OpInterface.h,以提供 op_api::to_padded_tensor 等声明。
  • nestedtensor 注册配置接入生成的头文件: 将 SPECIAL_REGISTERS 中 nestedtensor 条目的 header 由空字符串改为 _nestedtensor_register_header() 的返回值,使生成的 NestedTensorRegister 注册文件包含所需头文件。
  • 注册 to_padded_tensor 算子: 在 nestedtensor 的 extra_impls 中新增 m.impl("to_padded_tensor", TORCH_FN(op_api::to_padded_tensor)),将 to_padded_tensor 算子注册到 NestedTensorPrivateUse1 dispatch key 对应的注册逻辑中。
likedislike
不准确?
atomgit-bot
atomgit-bot
9月14日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
ascend-robotascend-robot成员
9月14日 添加了label:ascend-cla/yes
ascend-robotascend-robot成员
9月14日 添加了label:needs-issue
此处折叠了75条消息 查看更多
ascend-robotascend-robot成员
22 天前 added a commit that referenced this pull request
  • 674440e2 - [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Co-authored-by: yucaopanmu # message auto-generated for no-merge-commit merge: !46707 merge sync-pr46265-fix/nested-to-padded-tensor-to-v2.10.0-26.2.0 into v2.10.0-26.2.0 [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Created-by: ascend-ds-bot Commit-by: yucaopanmu Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/46265 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/4861 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[be097c68](https://gitcode.com/Ascend/pytorch/commit/be097c68de671148cf65a7331822781ff0a19f9d)|2026-09-16 10:00:37 +0800 CST|style(torchnpugen): 统一gen_backend_stubs.py里的字符串引号风格

    修正了to_padded_tensor注册行的引号混用问题,将双引号外层改为单引号保持代码风格一致
    | |[1a72a420](https://gitcode.com/Ascend/pytorch/commit/1a72a420b05dcb4d6cf19623382b26b4147077aa)|2026-09-14 12:53:48 +0800 CST|fix: add nested tensor register header for to_padded_tensor
    | See merge request: Ascend/pytorch!46707
    • [#46265](https://gitcode.com/Ascend/pytorch/merge_requests/46265)
[Compare with previous version](https://gitcode.com/Ascend/pytorch/merge_requests/46265/diffs?diff_id=7639622&start_sha=57bef201b527d6ea372561c7836cf641502a4a2a
ascend-robotascend-robot成员
22 天前 added a commit that referenced this pull request
  • dd50d161 - [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Co-authored-by: yucaopanmu # message auto-generated for no-merge-commit merge: !46708 merge sync-pr46265-fix/nested-to-padded-tensor-to-v2.11.0-26.2.0 into v2.11.0-26.2.0 [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Created-by: ascend-ds-bot Commit-by: yucaopanmu Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/46265 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/4861 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[be097c68](https://gitcode.com/Ascend/pytorch/commit/be097c68de671148cf65a7331822781ff0a19f9d)|2026-09-16 10:00:37 +0800 CST|style(torchnpugen): 统一gen_backend_stubs.py里的字符串引号风格

    修正了to_padded_tensor注册行的引号混用问题,将双引号外层改为单引号保持代码风格一致
    | |[1a72a420](https://gitcode.com/Ascend/pytorch/commit/1a72a420b05dcb4d6cf19623382b26b4147077aa)|2026-09-14 12:53:48 +0800 CST|fix: add nested tensor register header for to_padded_tensor
    | See merge request: Ascend/pytorch!46708
    • [#46265](https://gitcode.com/Ascend/pytorch/merge_requests/46265)
[Compare with previous version](https://gitcode.com/Ascend/pytorch/merge_requests/46265/diffs?diff_id=7639622&start_sha=bbd8096a5b481cd112c89acead838d232eb1a1ee
ascend-robotascend-robot成员
22 天前 added a commit that referenced this pull request
  • 8ea11af7 - [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Co-authored-by: yucaopanmu # message auto-generated for no-merge-commit merge: !46709 merge sync-pr46265-fix/nested-to-padded-tensor-to-v2.12.0-26.2.0 into v2.12.0-26.2.0 [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Created-by: ascend-ds-bot Commit-by: yucaopanmu Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/46265 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/4861 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[be097c68](https://gitcode.com/Ascend/pytorch/commit/be097c68de671148cf65a7331822781ff0a19f9d)|2026-09-16 10:00:37 +0800 CST|style(torchnpugen): 统一gen_backend_stubs.py里的字符串引号风格

    修正了to_padded_tensor注册行的引号混用问题,将双引号外层改为单引号保持代码风格一致
    | |[1a72a420](https://gitcode.com/Ascend/pytorch/commit/1a72a420b05dcb4d6cf19623382b26b4147077aa)|2026-09-14 12:53:48 +0800 CST|fix: add nested tensor register header for to_padded_tensor
    | See merge request: Ascend/pytorch!46709
    • [#46265](https://gitcode.com/Ascend/pytorch/merge_requests/46265)
[Compare with previous version](https://gitcode.com/Ascend/pytorch/merge_requests/46265/diffs?diff_id=7639622&start_sha=9da476f58a957a51fff3613c5878545efee9597d
ascend-robotascend-robot成员
22 天前 added a commit that referenced this pull request
  • 43dada03 - [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Co-authored-by: yucaopanmu # message auto-generated for no-merge-commit merge: !46751 merge sync-pr46265-fix/nested-to-padded-tensor-to-v2.13.0-26.2.0 into v2.13.0-26.2.0 [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Created-by: ascend-ds-bot Commit-by: yucaopanmu Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/46265 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/4861 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[be097c68](https://gitcode.com/Ascend/pytorch/commit/be097c68de671148cf65a7331822781ff0a19f9d)|2026-09-16 10:00:37 +0800 CST|style(torchnpugen): 统一gen_backend_stubs.py里的字符串引号风格

    修正了to_padded_tensor注册行的引号混用问题,将双引号外层改为单引号保持代码风格一致
    | |[1a72a420](https://gitcode.com/Ascend/pytorch/commit/1a72a420b05dcb4d6cf19623382b26b4147077aa)|2026-09-14 12:53:48 +0800 CST|fix: add nested tensor register header for to_padded_tensor
    | See merge request: Ascend/pytorch!46751
    • [#46265](https://gitcode.com/Ascend/pytorch/merge_requests/46265)
[Compare with previous version](https://gitcode.com/Ascend/pytorch/merge_requests/46265/diffs?diff_id=7639622&start_sha=98371d8fbbf3175eb0cd7c2ea7d3aeb094afa12a
ascend-robotascend-robot成员
22 天前 added a commit that referenced this pull request
  • 42aaf5cf - [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Co-authored-by: yucaopanmu # message auto-generated for no-merge-commit merge: !46755 merge sync-pr46265-fix/nested-to-padded-tensor-to-v2.14.0-26.2.0 into v2.14.0-26.2.0 [sync] PR-46265: fix: add nested tensor register header for to_padded_tensor Created-by: ascend-ds-bot Commit-by: yucaopanmu Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/46265 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/4861 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[be097c68](https://gitcode.com/Ascend/pytorch/commit/be097c68de671148cf65a7331822781ff0a19f9d)|2026-09-16 10:00:37 +0800 CST|style(torchnpugen): 统一gen_backend_stubs.py里的字符串引号风格

    修正了to_padded_tensor注册行的引号混用问题,将双引号外层改为单引号保持代码风格一致
    | |[1a72a420](https://gitcode.com/Ascend/pytorch/commit/1a72a420b05dcb4d6cf19623382b26b4147077aa)|2026-09-14 12:53:48 +0800 CST|fix: add nested tensor register header for to_padded_tensor
    | See merge request: Ascend/pytorch!46755
    • [#46265](https://gitcode.com/Ascend/pytorch/merge_requests/46265)
[Compare with previous version](https://gitcode.com/Ascend/pytorch/merge_requests/46265/diffs?diff_id=7639622&start_sha=60eea798d47207260a63a7eb3f68ca86020c5406