文件最后提交记录最后更新时间
修正循环依赖 Co-authored-by: lbr711<liuboru1@huawei.com> Co-authored-by: yangjinyang<yangjinyang5@huawei.com> # message auto-generated for no-merge-commit merge: !602 merge pr_03 into dev 修正循环依赖 Created-by: yangjinyang Commit-by: lbr711;yangjinyang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 故障码上报功能位于server中,llm_engine中为了上报故障码直接将server的healthChecker.cpp加入编译llm_engine.so时源文件链接范畴,导致所有直接/间接依赖llm_engine.so的模块,都必须显示链接mindieservice_endpoint,否则找不到符号无法通过编译。 Fix part of #312 # 修改内容 原本内嵌于HealthChecker类中的错误队列功能抽取为独立的单例类ErrorQueue,实现了错误处理逻辑的集中化与解耦,提升了代码的模块化、可维护性,并为其他模块复用该功能奠定了基础 # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 ![image.png](https://raw.gitcode.com/user-images/assets/8772840/74bcb9f1-7eea-4d39-9939-8bbdf303b3a5/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8772840/31bd8670-ef29-4133-a8df-f0af92f12bac/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8772840/9c2646f1-7aca-4a82-b653-60277ee4d1f5/image.png 'image.png') # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合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!6022 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
基于batch size的SLO调度优化算法 Co-authored-by: weixin_47478097<litianle8@huawei.com> # message auto-generated for no-merge-commit merge: !612 merge merge-slo-ltl into dev 基于batch size的SLO调度优化算法 Created-by: weixin_47478097 Commit-by: weixin_47478097 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 本PR实现了MindIE LLM在多种切分策略下,基于设定的SLO约束自动调整推理服务配置的能力,主要解决以下问题: 1. 多DP场景下动态BatchSize调整不一致问题:原有动态BatchSize调整算法在多DP(数据并行)场景下,各DP独立计算batch size,导致不同DP的计算结果不一致,可能造成某些DP上的请求被阻塞。 2. LatencyPredictor多DP场景访问问题:原实现在多DP场景下,ModelExecOutputHandler和LlmEngine直接访问latencypredictor,在DP聚合场景下存在时序问题。 3. 工行需求需要支持多DP场景 #[253]https://gitcode.com/Ascend/MindIE-LLM/issues/253 # 修改内容 1. 新增DynamicBatchRecorder类(核心改动) - 文件:src/scheduler/policy/dynamic_batch_recorder.h/cpp - 采用单例模式,每个DP rank拥有独立的recorder实例 - 提供跨DP数据聚合接口AggregateAllFromAllDPs(),用于收集所有DP的延迟、batch size和decode请求数,并取最大值作为全局决策依据 - 管理每个DP rank的LatencyPredictor和DecodeBatchSizeTracker 2. 改进DynamicBatchSize算法 - 文件:src/scheduler/policy/dynamic_batch_size.cpp/h - 新增localDPRank参数,支持多DP场景 - 使用DynamicBatchRecorder::AggregateAllFromAllDPs()聚合所有DP的数据 - 使用聚合后的最大值(而非各DP独立值)进行batch size决策,保证各DP计算结果一致 - 新增ApplyUpdatedBatchSize()方法统一处理batch size更新 3. LlmEngine和ModelExecOutputHandler适配 - 文件:src/engine/llm_engine.cpp/h、src/engine/model_exec_output_handler.cpp - 新增SetupLatencyPredictor()方法,通过DynamicBatchRecorder获取predictor - 在引擎初始化时注册LatencyPredictor到DynamicBatchRecorder # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合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!6122 个月前
边云协同支持spcp Co-authored-by: aolin123<zhangaolin5@huawei.com> Co-authored-by: Kisella<yezhujun1@h-partners.com> # message auto-generated for no-merge-commit merge: !398 merge dev into dev 边云协同支持spcp Created-by: aolin123 Commit-by: aolin123;Kisella Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of [#150](https://gitcode.com/Ascend/MindIE-LLM/issues/150) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 边云协同ds双机场景新增支持cpsp功能。在开启spcp后,block管理的最小单位为sp_rank,每个npu上使用的block不再相同。边云场景下边侧和云侧npu卡数不同,block使用情况不同,sp数不同,无法使用原方案统一在边侧管理。因此在边侧新增cloudblockmanager,在边侧对边云block分别管理,边侧流程不变,云侧读取cloudblockmanager分配的block。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 已验证QWEN3、DS、QWEN2.5模型的短序列、长序列,以上在集中式、分布式推理场景均通过。 # 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!3983 个月前
[Feature] enable multi block tables & kv cache descs Co-authored-by: coding-lz<liuzhe62@huawei.com> # message auto-generated for no-merge-commit merge: !500 merge dev_0306 into dev [Feature] enable multi block tables & kv cache descs Created-by: coding-lz Commit-by: coding-lz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of [#234](https://gitcode.com/Ascend/MindIE-LLM/issues/234) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # 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!5002 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[Feature] enable multi block tables & kv cache descs Co-authored-by: coding-lz<liuzhe62@huawei.com> # message auto-generated for no-merge-commit merge: !500 merge dev_0306 into dev [Feature] enable multi block tables & kv cache descs Created-by: coding-lz Commit-by: coding-lz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of [#234](https://gitcode.com/Ascend/MindIE-LLM/issues/234) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # 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!5002 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
cleancode及安全加固 Co-authored-by: shenzhao<shenzhao9@huawei.com> # message auto-generated for no-merge-commit merge: !58 merge dev1227 into dev cleancode及安全加固 Created-by: shenzhao Commit-by: shenzhao Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fix part of #43 修复代码安全风险问题 根据环境变量设置轮转文件大小时,没有校验输入大小 访问sequencegroup的seqs_没有判空,存在访问越界风险 GetNumRequiredBlocks中返回值类型为size_t,返回值为-1,存在隐式转换;blockSize为0为异常情况,建议进行异常处理 # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 1. 限制文件大小500M,限制文件个数20个 2. 增加校验 3. 校验blockSize为0时抛异常 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 单机混布,测试基础服务化推理正常 ![拉起1.png](https://raw.gitcode.com/user-images/assets/8772840/c6b3ba3a-6e87-40ef-a566-c9c4239a0fc2/拉起1.png '拉起1.png') ![推理2.png](https://raw.gitcode.com/user-images/assets/8772840/9d18c83e-a4e7-48f3-a5df-2ac86b62dcdf/推理2.png '推理2.png') # 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!584 个月前
[新需求] 虚推健康方案-虚推健康方案llm侧 Co-authored-by: Huangzjun<zijunhua@usc.edu> # message auto-generated for no-merge-commit merge: !312 merge br_dev_sim_0127 into dev [新需求] 虚推健康方案-虚推健康方案llm侧 Created-by: Huangzjun Commit-by: Zijun Huang;Huangzjun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 当前技术状况:在PD分离场景下,如果子进程挂死,未发出退出信号,服务仍对外保持健康状态,其他卡触发HCCL/LCCL通信超时引发重启。 因此,PD分离需要一种通用的静默故障检测方案 Fix part of [#170](https://gitcode.com/Ascend/MindIE-LLM/issues/170) (有依赖pr所以重新提交pr,检视意见修改可见原pr https://gitcode.com/Ascend/MindIE-LLM/pull/154) # 修改内容 1. LLM manager:虚推有特定固定seqid和requestid,完成seqid和req id的映射 2. Scheduler: pd分离场景跳过kvtransfer,虚推p节点正常prefill走完整流程,d节点直接进入running队列进行推理,并且虚推请求使用固定的blocktable且不写入slot 3. TextGenerator: 固定给虚推分发context = 0,和dummybatch复用,context = 0时跳过更新和清除 时序图: ![image.png](https://raw.gitcode.com/user-images/assets/8772840/87a4f677-c15e-4da3-a4f1-3d41a88e25b0/image.png 'image.png') # 资料变更 不涉及 # 接口变更 不涉及 # 测试结果 cpsp,mtp,prefix cache,异步调度 ![ScreenShot_20260128095631.jpg](https://raw.gitcode.com/user-images/assets/8772840/dbf61c22-28ec-460f-baea-a81b82282f4f/ScreenShot_20260128095631.jpg 'ScreenShot_20260128095631.jpg') # 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!3123 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前