已合并
【新需求】【重构】【编译工程】并行编译第三方包 #73
KaiMa创建于 2025年12月29日
【新需求】【重构】【编译工程】并行编译第三方包 #73
已合并
KaiMa创建于 2025年12月29日
KaiMa
KaiMa成员
2025年12月29日

合入背景

请描述为什么要做这个PR内的改动。
如涉及,请关联前序PR或同特性/需求下的其他PR。
如果是修复之前PR引入的问题,请关联引入问题的PR。
注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代.

当前编译耗时较长,其中主要瓶颈是三方包的编译,需要优化,详见 Issue:
Fixes #38

修改内容

请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。
如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。

主要修改如下:

  1. 解耦本项目编译和三方包编译;
  2. 根据职责单一划分脚本,主 CmakeList.txt 无需暴露过多细节,通过提炼函数封闭变化,减少发散;
  3. 编写三方包统一编译的 add_builder 函数,调用者仅需传个性化参数;
  4. 每个三方包创建一个 target,通过已设定的依赖关系、上层设定的并行数,触发并行编译;
  5. 编译选项分组呈现,如果新增,仅需添加一处,减少发散;
  6. 项目编译选项和三方包编译选项分别集中管理;
  7. 统一的默认值定义;
  8. 每个包独立编写各自编译逻辑,从 grpc 拆分 zlib、protobuf、cares、re2、absel 包,子包并行;
  9. 无需编译、仅需下载复制的包归为一个线程负载;
  10. 清除无意义打屏日志,默认日志等级为 ERROR,一般不开启 INFO;
  11. 修改文件 dependency.json,删除 dependencies 字段,避免字段定义嵌套过深;
  12. 解耦 lib 依赖,不再依赖 MindIE-Motor 中的三方包。

资料变更

请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。

不涉及

接口变更

请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。

不涉及

测试结果

请说明测试场景,测试方法以及测试结果。
测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。

不涉及硬件、部署方式、功能、精度。编译效率相比之前至少提升 34.04 ~ 46.81%

优化后:
image.png
场景1:
联网,直接编译,下载、编译(无output缓存)
耗时:
image.png

场景2:
无网,仅有下载的压缩包
耗时:
image.png

场景3:
无网,仅有三方编译的output缓存
耗时:
image.png

场景4:
无网,有三方包和项目的缓存
耗时:
image.png

CheckList

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 KaiMa 的贡献)
ascend-robot
ascend-robot成员
2025年12月29日 评论:

Thank your for your pull-request.

The full list of commands accepted by me can be found at here.

You can get sig-info at here

likedislike
ascend-robot
ascend-robot成员
2025年12月29日 评论:

以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入

Module List Reviewers Committers
repo-Ascend/MindIE-LLM pu-zhe, guanxinghua, zouzy5137, syli1107, yydyzr zk123, coding-lz, niushiya, wu_yushan, Katrina-CXY
likedislike
ascend-robotascend-robot成员
2025年12月29日 添加了label:ascend-cla/yes
KaiMa
KaiMa成员
2025年12月29日 评论:

compile

likedislike
ascend-robot
ascend-robot成员
2025年12月29日 评论:

✅ 流水线任务触发成功(流水线编号: 1797),正在执行, 请稍候。 任务链接 点此跳转 ...

likedislike
此处折叠了59条消息 查看更多
ascend-robot
ascend-robot成员
2025年12月30日 评论:

The MR can not be merged, because of CodeReview discussion not resolved

If you want to solve this problem, you can click here to do it in the FAQs.

likedislike
KaiMaKaiMa成员
2025年12月31日 解决了最后一个问题
ascend-robot
ascend-robot成员
2025年12月31日 评论:

Review Guide

This Pull-Request Passes Review.
Committers who writed a comment of /approve are: taojiovvo.
Reviewers who writed a comment of /lgtm are: zouzy5137, taojiovvo.

likedislike
ascend-robotascend-robot成员
2025年12月31日 关闭了关联的issue
ascend-robotascend-robot成员
2025年12月31日 合入了pull request