PaddlePaddle/Paddle

【编译优化】paddle_test 推全

Galaxy1458 opened this issue · 6 comments

问题描述 Please describe your issue

一、需求背景

飞桨正在做编译优化工作,此需求为 [cmake治理]删除paddle_test多余无用依赖 的升级版需求,背景原理类似,目前paddle编译c++单测有多种方式,如cc_test(windows下link静态库,linux下link paddle.so),paddle_test(windows和linux下都link动态库paddle.so),现在推荐使用paddle_test,好处在于:

  1. link动态库无需手动加过多的依赖,大部分符号在paddle.so中已存在;
  2. link libpaddle.so可以大幅度减小C++单测的体积 ,从而减少build目录体积大小

二、存在的问题

paddle仓库中有43个使用cc_test的CMakeLists.txt文件,其对paddle的单测编译造成一定压力,现打算将其全部替换为paddle_test.

三、建议步骤

在包含较多cc_test的单个CMakeLists.txt里建议拆分处理。

可能遇到的编译问题:

请参考:https://github.com/PaddlePaddle/community/blob/master/pfcc/call-for-contributions/code_style/change_cc_test_to_paddle_test.md

四、任务划分

序号 文件名 认领人/状态/PR号
1 test/cpp/pir/pattern_rewrite/CMakeLists.txt @Liyulingyue #60830
2 test/cpp/pir/pass/CMakeLists.txt @Liyulingyue #60831
3 test/cpp/pir/kernel_dialect/CMakeLists.txt @Liyulingyue #60832
4 test/cpp/pir/core/CMakeLists.txt @Liyulingyue #60833
5 test/cpp/pir/control_flow_dialect/CMakeLists.txt @Liyulingyue #60834
6 test/cpp/phi/ops/CMakeLists.txt @DrRyanHuang #60919
@Liyulingyue #61985
7 test/cpp/phi/kernels/CMakeLists.txt @DrRyanHuang #60917
@Liyulingyue #61984
8 test/cpp/phi/core/CMakeLists.txt @DrRyanHuang #60918
@Liyulingyue #61980
9 test/cpp/phi/common/CMakeLists.txt @DrRyanHuang #60916
@Liyulingyue #61981
10 test/cpp/phi/api/CMakeLists.txt @DrRyanHuang #60915
@Liyulingyue #61983
11 test/cpp/new_executor/CMakeLists.txt @zade23 #61013
12 test/cpp/jit/CMakeLists.txt @zade23 #61014
13 test/cpp/inference/api/CMakeLists.txt @zade23 #61016
14 test/cpp/imperative/CMakeLists.txt @zade23 #61017
15 test/cpp/fluid/reader/CMakeLists.txt @zade23 #61018
16 test/cpp/fluid/mkldnn/CMakeLists.txt @Liyulingyue #61672
17 test/cpp/fluid/memory/CMakeLists.txt @gouzil #61105
@Liyulingyue #62031
18 test/cpp/fluid/math/CMakeLists.txt @Liyulingyue #61673
19 test/cpp/fluid/fused/CMakeLists.txt @ccsuzzh #61238
20 test/cpp/fluid/framework/details/CMakeLists.txt @Liyulingyue #61463
21 test/cpp/fluid/framework/CMakeLists.txt @Liyulingyue #61674 #62534
22 test/cpp/fluid/elementwise/CMakeLists.txt @Liyulingyue #61376
23 test/cpp/fluid/dlnne/CMakeLists.txt @Liyulingyue #61372
24 test/cpp/fluid/detection/CMakeLists.txt @Liyulingyue #61373
25 test/cpp/fluid/controlflow/CMakeLists.txt @Liyulingyue #61374
26 test/cpp/fluid/benchmark/CMakeLists.txt @Liyulingyue #61375
27 test/cpp/fluid/CMakeLists.txt @Liyulingyue #61675
28 test/cpp/eager/task_tests/CMakeLists.txt @Liyulingyue #61676
29 test/cpp/eager/data_structure_tests/CMakeLists.txt @Liyulingyue #61677
30 test/cpp/auto_parallel/CMakeLists.txt @Liyulingyue #61462
31 paddle/utils/string/CMakeLists.txt @xiaoyewww #60958 #60959
32 paddle/utils/CMakeLists.txt @xiaoyewww #60959
33 paddle/phi/core/distributed/store/CMakeLists.txt @xiaoyewww #60960
34 paddle/phi/backends/CMakeLists.txt @xiaoyewww #60961
35 paddle/fluid/platform/profiler/CMakeLists.txt @ooooo-create #61093
@Liyulingyue #62034 #62033
36 paddle/fluid/platform/device/custom/CMakeLists.txt @ooooo-create #61094
@Liyulingyue #62036 #62033
37 paddle/fluid/platform/CMakeLists.txt @ooooo-create #61095
@Liyulingyue #62035 #62033
38 paddle/fluid/inference/api/details/CMakeLists.txt @ooooo-create
@Liyulingyue #61943
39 paddle/fluid/inference/analysis/ir_passes/CMakeLists.txt @ooooo-create
@Liyulingyue #61944
40 paddle/fluid/framework/ir/memory_optimize_pass/CMakeLists.txt @ooooo-create
@Liyulingyue #61945
41 paddle/fluid/framework/ir/fusion_group/CMakeLists.txt @ooooo-create
@Liyulingyue #61946
42 paddle/fluid/framework/ir/CMakeLists.txt @ooooo-create
@Liyulingyue #61947
43 paddle/fluid/distributed/test/CMakeLists.txt @ooooo-create
@Liyulingyue #61948

认领方式

请大家以 comment 的形式认领任务,如:

【报名】:1、3、12-13

多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
PR 提交格式:在 PR 的标题中以 【paddle_test No.】 开头,注明任务编号

看板信息

任务方向 任务数量 提交作品 / 任务认领 提交率 完成 完成率
快乐开源 43 43 / 43 100.0% 25 58.14%

统计信息

排名不分先后 @Liyulingyue (20) @ccsuzzh (1) @xiaoyewww (4)

【报名】:35-43

【报名】:6-10

【报名】:31-34

zade23 commented

【报名】:11-15

【报名】:19

【编译优化】paddle_test 推全 暂时结项,等后续 cmake 分目录治理工作结束后,再重新启动,感谢参与的小伙伴们!

排名不分先后 @Liyulingyue (20) @ccsuzzh (1) @xiaoyewww (4)