| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【新需求】【重构】【编译工程】并行编译第三方包 Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> # message auto-generated for no-merge-commit merge: !73 merge compile3_2 into dev 【新需求】【重构】【编译工程】并行编译第三方包 Created-by: KaiMa Commit-by: KaiMa Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. 当前编译耗时较长,其中主要瓶颈是三方包的编译,需要优化,详见 Issue: Fixes #[38](https://gitcode.com/Ascend/MindIE-LLM/issues/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%**。 优化后:  场景1: 联网,直接编译,下载、编译(无output缓存) 耗时:  场景2: 无网,仅有下载的压缩包 耗时:  场景3: 无网,仅有三方编译的output缓存 耗时:  场景4: 无网,有三方包和项目的缓存 耗时:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!73 | 7 个月前 | |
[Feature]: Deepseek V3.2支持ascend c自定义算子接入 Co-authored-by: 周天扬<zhoutianyang@huawei.com> # message auto-generated for no-merge-commit merge: !570 merge zty_T0004 into dev [Feature]: Deepseek V3.2支持ascend c自定义算子接入 Created-by: hw-zhoutianyang Commit-by: 周天扬 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#303](https://gitcode.com/Ascend/MindIE-LLM/issues/303) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 更新Ascend C自定义算子编译框架,新增moe融合算子dispatch_ffn_combine # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 dispatch_ffn_combine单算子UT测试通过:  gsm8k lite精度OK:  不开moe融合算子输入2k输出1k并发8性能:  开启moe融合算子输入2k输出1k并发8性能:  # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!570 | 5 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 个月前 | ||
| 5 个月前 |