Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3/4] CUDNNv8 ResNet Fusion: Add fused_donv_drelu_dbn OP #58986

Merged
merged 4 commits into from
Dec 5, 2023

Conversation

Tom-Zheng
Copy link
Contributor

PR types

New features

PR changes

OPs

Description

This PR adds fused_dconv_drelu_dbn op, which is part of the CUDNNv8 ResNet fusion integration.

Copy link

paddle-bot bot commented Nov 14, 2023

你的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 Nov 14, 2023
@Tom-Zheng
Copy link
Contributor Author

@zyfncg Hi, would you please take a look?

@Tom-Zheng
Copy link
Contributor Author

@zyfncg The CI failures will be approved manually and should not block review process. Please take a look.

@onecatcn
Copy link
Contributor

2023-11-23 11:07:36 ****************
2023-11-23 11:07:36 0. You must have raindrops2sea or XiaoguangHu01 approval for change 20+ files or add than 1000+ lines of content.
2023-11-23 11:07:36 1. You must have one RD (XiaoguangHu01,chenwhql,zhiqiu,Xreki,luotao1,qili93,Aurelius84) approval for the usage of const_cast.
2023-11-23 11:07:36 2. paddle::get is not recommended for direct use, because it may throw an bad_variant_access exception without any stack information, so please use PADDLE_GET(_**)(dtype, value) series macros here. If these macros cannot meet your needs, please use try-catch to handle paddle::get and request chenwhql (Recommend), luotao1 or lanxianghit or Aurelius84 review and approve.
2023-11-23 11:07:36 3. Unittest is not allowed to be disabled.
2023-11-23 11:07:36 You must have one RD (kolinwei(Recommend), wanghuancoder, luotao1, QingshuChen, qili93 or ZzSean or Aurelius84) approval for the usage of @unittest.skip or @unittest.skipIf.
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-23 11:07:36 4. It is an Op accuracy problem, please take care of it. You must have one RD (zhangting2020 (Recommend), luotao1 or phlrain, qili93, QingshuChen or Aurelius84) approval for the usage (either add or delete) of @skip_check_grad_ci. For more information, please refer to: https://github.com/PaddlePaddle/Paddle/wiki/Gradient-Check-Is-Required-for-Op-Test. The corresponding lines are as follows:

2023-11-24 11:27:18 [tools/ci_op_benchmark.sh:280] [INFO] Or you can apply for one RD (ZzSean(Recommend), JamesLim-sy, Xreki, luotao1) approval to pass this PR.

2023-11-23 12:51:03 Please find RD for approval first, and then find TPM for approval.
2023-11-23 12:51:03 0. You must have one RD (inference[ vivienfanghuagood(Recommend), yuanlehome, qingqing01 ] or slim[ wanghaoshuang(Recommend), qingqing01 ] or train[ chenwhql(Recommend), phlrain ]) approval for the changes of Inputs/Output/Attrs of OPs. The changes of OPs will cause that the new version inference fails to load model trained by the old version. Please modify your code.
2023-11-23 12:51:03 For more details, please click [https://github.com/PaddlePaddle/Paddle/wiki/OP-Input-Output-Attribute-Compatibility-Modification].

zhangting2020
zhangting2020 previously approved these changes Nov 30, 2023
wanghuancoder
wanghuancoder previously approved these changes Nov 30, 2023
Copy link
Contributor

@wanghuancoder wanghuancoder left a comment

Choose a reason for hiding this comment

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

LGTM for @unittest.skip or @unittest.skipIf

Copy link
Contributor

@vivienfanghuagood vivienfanghuagood left a comment

Choose a reason for hiding this comment

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

LGTM for add API

zyfncg
zyfncg previously approved these changes Nov 30, 2023
Comment on lines 2164 to 2167
grad_weight->set_dims(weight.dims());
grad_bn1_input->set_dims(bn1_input.dims());
grad_bn1_gamma->set_dims(bn1_gamma.dims());
grad_bn1_beta->set_dims(bn1_beta.dims());
Copy link
Contributor

Choose a reason for hiding this comment

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

please set dtype like this
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@@ -0,0 +1,1162 @@
/* Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
Copy link
Contributor

Choose a reason for hiding this comment

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

2022 -> 2023

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@@ -0,0 +1,478 @@
# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
Copy link
Contributor

Choose a reason for hiding this comment

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

2022 ->2023

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@onecatcn onecatcn requested a review from zyfncg December 2, 2023 03:50
@Tom-Zheng
Copy link
Contributor Author

2023-11-30 11:48:08 0. You must have raindrops2sea or XiaoguangHu01 approval for change 20+ files or add than 1000+ lines of content.
2023-11-30 11:48:08 1. You must have one RD (XiaoguangHu01,chenwhql,zhiqiu,Xreki,luotao1,qili93,Aurelius84) approval for the usage of const_cast.
2023-11-30 11:48:08 2. paddle::get is not recommended for direct use, because it may throw an bad_variant_access exception without any stack information, so please use PADDLE_GET(_**)(dtype, value) series macros here. If these macros cannot meet your needs, please use try-catch to handle paddle::get and request chenwhql (Recommend), luotao1 or lanxianghit or Aurelius84 review and approve.
2023-11-30 11:48:08 3. Unittest is not allowed to be disabled.
2023-11-30 11:48:08 You must have one RD (kolinwei(Recommend), wanghuancoder, luotao1, QingshuChen, qili93 or ZzSean or Aurelius84) approval for the usage of @unittest.skip or @unittest.skipIf.
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 +@unittest.skipIf(skip_unit_test(), skip_msg)
2023-11-30 11:48:08 4. It is an Op accuracy problem, please take care of it. You must have one RD (zhangting2020 (Recommend), luotao1 or phlrain, qili93, QingshuChen or Aurelius84) approval for the usage (either add or delete) of @skip_check_grad_ci. For more information, please refer to: https://github.com/PaddlePaddle/Paddle/wiki/Gradient-Check-Is-Required-for-Op-Test. The corresponding lines are as follows:
2023-11-30 11:48:08 test/legacy_test/test_fused_dconv_drelu_dbn_op.py
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 +	@skip_check_grad_ci(reason="no grap op")
2023-11-30 11:48:08 There are 5 approved errors.

@XiaoguangHu01 @chenwhql @ZzSean @zhangting2020 Would you please approve?

@Tom-Zheng
Copy link
Contributor Author

@qingqing01 Would you please approve for PR-CI-Static-Check?

Copy link
Contributor

@XiaoguangHu01 XiaoguangHu01 left a comment

Choose a reason for hiding this comment

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

LGTM

@Tom-Zheng
Copy link
Contributor Author

@tianshuo78520a Would you please help approve PR-CI-Coverage

@Tom-Zheng
Copy link
Contributor Author

@qingqing01 @heavengate would you please approve for PR-CI-Static-Check?

@Tom-Zheng
Copy link
Contributor Author

@zyfncg Hi, would you please merge it?

@zyfncg zyfncg merged commit 1099b8f into PaddlePaddle:develop Dec 5, 2023
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributor External developers NVIDIA
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants