Skip to content

Conversation

@DanielSun11
Copy link
Contributor

@DanielSun11 DanielSun11 commented Oct 30, 2025

PR Category

User Experience

PR Types

New features

Description

支持根据唯一的api name导出前向api

新增功能:

通过设置FLAGS_dump_api_python_stack_path 指定一个文件路径,来导出所有前向API对应的调用栈。
输出的文件会以 FLAGS_dump_api_python_stack_path中指定的文件路径 + .xxxx的格式,xxxx是进程的pid。

gaussian1 : 
  File "/workspace/code/test/test_add.py", line 3, in <module>
    x = paddle.randn([2,3],dtype="float32")
  File "/usr/local/lib/python3.10/dist-packages/paddle/utils/decorator_utils.py", line 349, in wrapped_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/paddle/tensor/random.py", line 1079, in randn
    tensor = standard_normal(
  File "/usr/local/lib/python3.10/dist-packages/paddle/tensor/random.py", line 945, in standard_normal
    return gaussian(
  File "/usr/local/lib/python3.10/dist-packages/paddle/tensor/random.py", line 747, in gaussian
    tensor = _C_ops.gaussian(
cast1 : 
  File "/workspace/code/test/test_add.py", line 7, in <module>
    z1 = x - y
subtract1 : 
  File "/workspace/code/test/test_add.py", line 7, in <module>
    z1 = x - y
cast2 : 
  File "/workspace/code/test/test_add.py", line 8, in <module>
    z2 = x + y
add1 : 
  File "/workspace/code/test/test_add.py", line 8, in <module>
    z2 = x + y
sum1 : 
  File "/workspace/code/test/test_add.py", line 11, in <module>
    z4 = z3.sum()
  File "/usr/local/lib/python3.10/dist-packages/paddle/base/dygraph/generated_tensor_methods_patch.py", line 115, in _sum
    return _C_ops.sum(*args, **kwargs)
mean1 : 
  File "/workspace/code/test/test_add.py", line 12, in <module>
    z5 = z2.mean()
  File "/usr/local/lib/python3.10/dist-packages/paddle/utils/decorator_utils.py", line 213, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/paddle/tensor/stat.py", line 133, in mean
    return _C_ops.mean(x, axis, keepdim, out=out)
add2 : 
  File "/workspace/code/test/test_add.py", line 14, in <module>
    loss = z4 + z5

修复之前存在的问题:

  • tensor_md5_checksum_output_dir命名错误,应该是描述一个文件路径而非目录的路径
  • 修复一些手写的前向ad_func中 漏掉的md5_checksum功能
  • ad_func 在最后打印输入输出Tensor时添加一些特殊的提示性前缀,比如Forward Debug Info,用于以后根据GLOG的输出构造前向图时使用。
  • 反向GradNode中check_cuda_error的提示信息中可以打印this指针
  • 添加FLAGS联动的功能,支持设置一个FLAGS的同时自动设置其依赖的FLAGS
    linked_flags_["dump_api_python_stack_path"] = {{"enable_unique_name", "true"}, {"call_stack_level", "3"}};

@paddle-bot
Copy link

paddle-bot bot commented Oct 30, 2025

你的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.

@codecov-commenter
Copy link

codecov-commenter commented Oct 30, 2025

Codecov Report

❌ Patch coverage is 97.56098% with 1 line in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (develop@cb3d41a). Learn more about missing BASE report.

Files with missing lines Patch % Lines
paddle/common/flags_native.cc 96.42% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             develop   #76143   +/-   ##
==========================================
  Coverage           ?   97.56%           
==========================================
  Files              ?        4           
  Lines              ?       41           
  Branches           ?        0           
==========================================
  Hits               ?       40           
  Misses             ?        1           
  Partials           ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DanielSun11 DanielSun11 merged commit 1aa7cc6 into PaddlePaddle:develop Nov 4, 2025
96 of 101 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants