Skip to content

[Cpp API Compatibility] Normalize adapted-from-PyTorch declarations#78590

Merged
SigureMo merged 3 commits intoPaddlePaddle:developfrom
ShigureNyako:cleanup/normalize-pytorch-adapted-from
Apr 5, 2026
Merged

[Cpp API Compatibility] Normalize adapted-from-PyTorch declarations#78590
SigureMo merged 3 commits intoPaddlePaddle:developfrom
ShigureNyako:cleanup/normalize-pytorch-adapted-from

Conversation

@ShigureNyako
Copy link
Copy Markdown
Contributor

PR Category

Execute Infrastructure

PR Types

Improvements

Description

This PR is a follow-up extracted from #78581.

It normalizes malformed adapted-from-PyTorch reference declarations across the existing compat files and Python shim modules so they match the style already used in the latest compatibility updates:

  • remove the stray embedded # markers
  • normalize the Licensed under BSD-style license - line spacing
  • keep the existing PyTorch license URL unchanged

This is a comment-only cleanup and does not change ABI, behavior, dispatch logic, or public APIs.

是否引起精度变化

@paddle-bot
Copy link
Copy Markdown

paddle-bot bot commented Apr 4, 2026

你的PR提交成功,感谢你对开源项目的贡献!
请关注后续CI自动化测试结果,详情请参考Paddle-CI手册
Your PR has been submitted. Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@paddle-bot paddle-bot bot added the contributor External developers label Apr 4, 2026
@ShigureNyako
Copy link
Copy Markdown
Contributor Author

Self-review summary:

  • checked the full diff and confirmed the change is limited to normalizing the adapted-from-PyTorch reference block
  • scope is the expected 43 existing compat/Python files with malformed declarations
  • no behavior / ABI / dispatch changes; this is comment-only cleanup
  • git diff --check is clean locally

@SigureMo 麻烦看下这个单独拆出来的 follow-up PR。

SigureMo
SigureMo previously approved these changes Apr 4, 2026
Copy link
Copy Markdown
Member

@SigureMo SigureMo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTMeow 🐾

@SigureMo
Copy link
Copy Markdown
Member

SigureMo commented Apr 4, 2026

@ShigureNyako 你扫一下是否有哪些文件你觉得漏加声明的(主要实现参考 PyTorch 的都应该加,如果实现与 PyTorch 不同,只是接口与 PyTorch 相同则无需添加),在这里回复就好,我确认下哪些需要额外加一下

@ShigureNyako
Copy link
Copy Markdown
Contributor Author

@ShigureNyako 你扫一下是否有哪些文件你觉得漏加声明的(主要实现参考 PyTorch 的都应该加,如果实现与 PyTorch 不同,只是接口与 PyTorch 相同则无需添加),在这里回复就好,我确认下哪些需要额外加一下

我先按“实现里已经直接写了 follow / match / mirror / parity with PyTorch”这个标准粗扫了一遍,强候选我觉得有这些:

  • paddle/phi/api/include/compat/c10/cuda/CUDAStream.h
  • paddle/phi/api/include/compat/c10/cuda/CUDAFunctions.cpp
  • paddle/phi/api/include/compat/c10/core/Stream.cpp
  • paddle/phi/api/include/compat/ATen/cuda/CUDAEvent.h
  • paddle/phi/api/include/compat/ATen/ops/_local_scalar_dense.h
  • paddle/phi/api/include/compat/ATen/ops/arange.h
  • paddle/phi/api/include/compat/ATen/ops/sum.h
  • paddle/phi/api/include/compat/ATen/ops/tensor_split.h

这几份文件里已经明确写了“match/follow/mirror/parity with PyTorch”之类的实现语义注释,我倾向于把它们视为“实现层也在参考 upstream”,不只是接口名兼容。

再宽一点看,下面这些也有比较明显的 PyTorch 语义对齐痕迹,但我觉得更像 “Paddle kernel + PyTorch 语义包装”,要不要补声明我暂时放在第二档:

  • paddle/phi/api/include/compat/ATen/ops/expand.h
  • paddle/phi/api/include/compat/ATen/ops/narrow.h
  • paddle/phi/api/include/compat/ATen/ops/chunk.h
  • paddle/phi/api/include/compat/ATen/ops/sparse_coo_tensor.h
  • paddle/phi/api/include/compat/ATen/core/TensorBody.h

c10/util/Half.h / BFloat16.h 这种别名或很薄的封装,我目前不建议补。

如果你觉得上面第一档要继续补,我可以再单独补一轮,把范围尽量收敛在这些“实现参考 upstream 痕迹比较明确”的文件上。

@SigureMo
Copy link
Copy Markdown
Member

SigureMo commented Apr 4, 2026

如果你觉得上面第一档要继续补,我可以再单独补一轮,把范围尽量收敛在这些“实现参考 upstream 痕迹比较明确”的文件上。

第一档都补一下吧,在这个 PR 直接加

Co-authored-by: Nyakku Shigure <sigure.qaq@gmail.com>
@ShigureNyako
Copy link
Copy Markdown
Contributor Author

第一档都补一下吧,在这个 PR 直接加

已按这条意见直接补在当前 PR 里,新增 commit 7a94448209fc

本次补了这 8 个文件的 adapted-from-PyTorch 声明:

  • paddle/phi/api/include/compat/c10/cuda/CUDAStream.h
  • paddle/phi/api/include/compat/c10/cuda/CUDAFunctions.cpp
  • paddle/phi/api/include/compat/c10/core/Stream.cpp
  • paddle/phi/api/include/compat/ATen/cuda/CUDAEvent.h
  • paddle/phi/api/include/compat/ATen/ops/_local_scalar_dense.h
  • paddle/phi/api/include/compat/ATen/ops/arange.h
  • paddle/phi/api/include/compat/ATen/ops/sum.h
  • paddle/phi/api/include/compat/ATen/ops/tensor_split.h

自查结论:

  • 这次增量只是在上述 8 个文件头部补声明,没有引入行为 / ABI / dispatch 变更
  • 本地 git diff --check 通过
  • 当前增量 diff 仅覆盖这 8 个文件

@SigureMo 麻烦再看下这一轮补充是否符合你的预期。

SigureMo
SigureMo previously approved these changes Apr 4, 2026
@SigureMo
Copy link
Copy Markdown
Member

SigureMo commented Apr 4, 2026

冲突了,需要解一下

@ShigureNyako
Copy link
Copy Markdown
Contributor Author

冲突了,需要解一下

已处理。我这边把最新 upstream/develop 合到当前分支里并解掉了和 #78584 的冲突,新增 merge commit 8cfe7001efff

这次同步后,我确认前面补的 adapted-from-PyTorch 声明仍然都在:

  • paddle/phi/api/include/compat/c10/cuda/CUDAStream.h
  • paddle/phi/api/include/compat/c10/cuda/CUDAFunctions.cpp
  • paddle/phi/api/include/compat/c10/core/Stream.cpp
  • paddle/phi/api/include/compat/ATen/cuda/CUDAEvent.h
  • paddle/phi/api/include/compat/ATen/ops/_local_scalar_dense.h
  • paddle/phi/api/include/compat/ATen/ops/arange.h
  • paddle/phi/api/include/compat/ATen/ops/sum.h
  • paddle/phi/api/include/compat/ATen/ops/tensor_split.h

本次新增提交的作用主要是把分支 re-sync 到最新 develop;没有再额外扩这条 PR 的目标范围。

@SigureMo 麻烦再看下这一版冲突处理后的结果。

@ShigureNyako
Copy link
Copy Markdown
Contributor Author

/re-run all-failed

@SigureMo SigureMo merged commit e27e6c2 into PaddlePaddle:develop Apr 5, 2026
180 of 210 checks passed
@SigureMo SigureMo deleted the cleanup/normalize-pytorch-adapted-from branch April 5, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor External developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants