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

第三方库离线编译 #54305

Closed
risemeup1 opened this issue Jun 2, 2023 · 15 comments
Closed

第三方库离线编译 #54305

risemeup1 opened this issue Jun 2, 2023 · 15 comments
Assignees
Labels
HappyOpenSource 快乐开源活动issue与PR status/close 已关闭

Comments

@risemeup1
Copy link
Contributor

risemeup1 commented Jun 2, 2023

问题描述

This project will be mentored by @risemeup1

大家好,现在Paddle编译第三方库通过 ExternalProject_Add 命令对第三方库下载,当编译到某个第三方库的时候才会下载第三方库,然后编译,这种方式会存在很多问题。

  • 一边编译一边下载,当编译到某个第三方库的时候开始下载,导致git clone的频率增加,如果网络不稳定,任何一次git clone 失败就会导致编译出问题,本地编译和CI均太过于依赖网络;
  • 研发RD 删除 build 目录后重新编译就需要重新下载这些第三方库,又要重新git clone第三方库,没有达到复用的效果,编译时间会增加很多,也会因为网络问题影响研发效率。

注意事项

  1. 学习任务开发步骤 任务开发详细说明 ‼️ 极其重要 ‼️
  2. 参考PR:Supports offline compilation of Paddle third-party libraries #53744
  3. 认领规则:直接回复下 issue 下方
  4. **PR 通过 CI 后,可以评论里或者 review request @risemeup1 ,研发会进行审核
  5. 这些任务都比较简单,在6月20日之前完成即可
  6. 欢迎联系花花加入社区,和我们一起快乐开源!

image

任务列表 (整体进度:17/17)

按 merge 的时间顺序,排名不分先后: @GreatV (2) @gouzil (2) @huangjiyi (2) @RedContritio (2) @mrcangye (1) @sanbuphy (2) @enkilee (1) @DrRyanHuang (1) @Liyulingyue (1) @ccsuzzh (2)

  1. 第三方库作为Paddle的子模块
任务序号 第三方库 认领人 相关PR
1.1 crypotopp, pybind11, pocketfft, xbyak✅(2023/6/7) @RedContritio #54344 #54322
1.2 snappy, cub, cutlass✅(2023/6/6) @huangjiyi #54335
1.3 flashattn, mkldnn, gtest✅(2023/6/5) @GreatV #54319
  1. 根据编译选项,在cmake阶段将第三方库clone到根目录third_party/下,在make阶段不再需要下载
任务序号 第三方库 认领人 相关PR
2.1 cinn,cudnn-frontend,dirent✅(2023/6/19) @mrcangye #54461
2.2 libxsmm, lite, openblas, rocksdb✅(2023/7/18) @enkilee #54380#54480#54495#54646
2.3 arm_brpc, box_ps, concurrentqueue✅(2023/6/28) @ccsuzzh #54400#54438
2.4 cusparselt, dgc, jemalloc✅(2023/6/26) @sanbuphy #54392 #54388
2.5 lapack,libmct,mklml✅(2023/6/6) @gouzil #54326 #54764
2.6 onnxruntime, pslib_brpc, pslib✅(2023/6/6) @RedContritio #54370 #54346 #54466
2.7 xpu, paddle2onnx✅(2023/8/8) @DrRyanHuang #54451
2.8 leveldb(之前被误作为submodule了,解除submodule)✅(2023/6/15) @gouzil #54436
2.9 brpc✅(2023/6/19) @huangjiyi #54522
2.10 jitify✅(2023/7/20) @GreatV #55501
2.11 isl✅(2023/8/10) @ccsuzzh #55631
2.12 ginac✅(2023/8/11) @Liyulingyue #56165
2.13 boost✅(2023/8/11) @sanbuphy #56168
2.14 absl✅(2023/8/10) @gouzil #55549

其他成果总结

子任务 作者 相关PR
C++17的GPU编译会出现undefined reference to 的bug,需要解循环依赖✅(2023/6/11) @huangjiyi #54411
在pip install -U 前检查是否安装模块,避免重复安装但网络不好的情况✅(2023/6/7) @gouzil #54330
改动第三方库的tag,将不会自动重新触发编译的不过✅(2023/6/17) @gouzil #54614

后续关于第三方库治理的任务会陆续往上加

@risemeup1 risemeup1 added status/new-issue 新建 type/others 其他问题 labels Jun 2, 2023
@luotao1 luotao1 added the HappyOpenSource 快乐开源活动issue与PR label Jun 2, 2023
@GreatV
Copy link
Contributor

GreatV commented Jun 2, 2023

任务序号 第三方库 认领人 相关PR
1.3 flashattn, mkldnn, gtest @GreatV

@mrcangye
Copy link
Contributor

mrcangye commented Jun 2, 2023

认领2.1

@RedContritio
Copy link
Contributor

认领 1.1

@huangjiyi
Copy link
Member

认领 1.2

@DrRyanHuang
Copy link
Member

认领2.7

@RedContritio
Copy link
Contributor

认领 2.6

@gouzil
Copy link
Member

gouzil commented Jun 2, 2023

认领2.5

@sanbuphy
Copy link
Contributor

sanbuphy commented Jun 2, 2023

认领2.4

@ccsuzzh
Copy link
Contributor

ccsuzzh commented Jun 2, 2023

认领2.3

@enkilee
Copy link
Contributor

enkilee commented Jun 2, 2023

认领2.2

@gouzil
Copy link
Member

gouzil commented Jun 2, 2023

认领2.5

下一期发findxxx.cmake

👌🏻

@chenwhql
Copy link
Contributor

chenwhql commented Jun 6, 2023

2.1 cinn,cudnn-frontend,dirent

@mrcangye cinn是Paddle的编译器后端,近期会合入到Paddle主repo整合维护,可以优先推进其他两项,感谢

@gouzil
Copy link
Member

gouzil commented Jun 7, 2023

认领2.8

@huangjiyi
Copy link
Member

认领 2.9

@luotao1
Copy link
Contributor

luotao1 commented Aug 11, 2023

第三方库离线编译已全部完成,感谢参与的小伙伴们!

按 merge 的时间顺序,排名不分先后: @GreatV (2) @gouzil (2) @huangjiyi (2) @RedContritio (2) @mrcangye (1) @sanbuphy (2) @enkilee (1) @DrRyanHuang (1) @Liyulingyue (1) @ccsuzzh (2)

欢迎继续参与快乐开源的其他任务

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HappyOpenSource 快乐开源活动issue与PR status/close 已关闭
Projects
Development

No branches or pull requests