| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【重构】EngineServer重构&EngineServer对接SGLang Co-authored-by: ganglv<lvgang1@huawei.com> # message auto-generated for no-merge-commit merge: !36 merge pymotor_master_refactor_sglang into master 【重构】EngineServer重构&EngineServer对接SGLang Created-by: ganglv Commit-by: ganglv Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!36 | 3 个月前 | |
[Feature] 适配 vllm-ascend Netloader D2D 权重直传 Co-authored-by: yilunh<hanyilun1@huawei.com> # message auto-generated for no-merge-commit merge: !200 merge D2D into master [Feature] 适配 vllm-ascend Netloader D2D 权重直传 Created-by: yilunh Commit-by: yilunh Merged-by: towncharlie Description: ## **1. 合入背景** vllm-ascend Netloader已支持D2D 权重直传,pyMotor增加适配,支持自动传入ip fixes #142 ## **2. 修改内容** 1、适配D2D直传,用户在 user_config 的 engine_config.model_loader_extra_config中配置source: "auto" + listen_port 时,Controller 自动发现同角色 peer IP;Engine 侧按场景组装 netloader 参数: d2d_configured? (source=auto + listen_port) │ ├─ A: 有 peer → SOURCE=[{device_id, sources:[ip:port,...]}], load_format=netloader,传入elastic_load拉权重 ├─ B: 无 peer,种子 → SOURCE 被 pop 掉, LISTEN_PORT+MODEL 保留, load_format=netloader,磁盘加载权重后起 ElasticServer │ └─ 非 d2d_configured → 纯透传, 什么都不干预 在现有 StartCmd → Daemon → Engine 链路上,加一层 Controller 编排 peer IP,Engine 侧组装 netloader 参数,HCCL/P2P 传输仍由 vllm-ascend netloader 完成  2、优化resolver, 新增入口normalize,统一在入口处转换连字符-至下划线_。 ## **3. 资料变更** 用户在 user_config的 engine_config.model_loader_extra_config中配置 source: "auto" + listen_port时,Controller 自动发现同角色 peer IP下发至 netloader 需同时配置 source: "auto" + listen_port,否则若半套配置或source指定ip时,controller仅透传参数至vllm-ascend ## **4. 接口变更** 同上 ## **5. 测试结果**  ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!200 | 25 天前 | |
【Bugfix】: vLLM handoff payload must carry only kv_transfer_params Co-authored-by: tobking<wangjun292@huawei.com> # message auto-generated for no-merge-commit merge: !356 merge fix/vllm-handoff-kv-transfer-params into master 【Bugfix】: vLLM handoff payload must carry only kv_transfer_params Created-by: tobking Commit-by: tobking Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. handoff模式下,decode 的vllm adapter修改kv transfer存在问题 ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 handoff模式下,对齐proxy,修复上述问题 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!356 | 12 小时前 | |
【重构】EngineServer重构&EngineServer对接SGLang Co-authored-by: ganglv<lvgang1@huawei.com> # message auto-generated for no-merge-commit merge: !36 merge pymotor_master_refactor_sglang into master 【重构】EngineServer重构&EngineServer对接SGLang Created-by: ganglv Commit-by: ganglv Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!36 | 3 个月前 | |
fix: 并行执行虚拟推理HTTP与AICore采样,并区分AICore不可用与零使用率 Co-authored-by: Jechin<yuzechen1@huawei.com> # message auto-generated for no-merge-commit merge: !321 merge fix/sim-inference-aicore-cycle-and-unavailable into master fix: 并行执行虚拟推理HTTP与AICore采样,并区分AICore不可用与零使用率 Created-by: Jechin Commit-by: Jechin Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#203](https://gitcode.com/Ascend/MindIE-PyMotor/issues/203) ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ### 1. aicore.py — npu-smi 命令修正 移除了 npu-smi info watch -s a 的 -d 1 参数。原先带 -d 1 可能指定了 duration/interval,但也许在某些版本的 npu-smi 上导致输出延迟或不兼容。代码通过读取第一行输出后即终止进程,去掉 -d 1 后进程会持续输出,但同样读取首行即 kill,行为一致。 ### 2. sim_inference.py — 核心重构(4 大改动) #### A. 提取 _sample_aicore_usage() 方法 将 AICore 采样逻辑从 worker 线程中提取为独立方法,返回 (max_usage, usage_available) 元组: - **修正了循环条件的 bug**:旧代码 while time.time() < end_time or check_count <= max(or 意味着时间到了还会继续),新代码改为 and,正确地在时间和次数之间做双重上限约束 - 遇到 get_aicore_usage() 报错时立即 break,不再重试整个窗口 #### B. 基于 "代数" (generation) 的协调机制 新增了 3 个 generation 计数器 + 1 个 Event: - _trigger_aicore_sample() — 递增 generation,清空 Event,通知 worker - _read_aicore_sample(generation, sample_finished) — 只在 worker 完成的 generation 与请求的 generation 匹配时才返回结果,**防御了过时数据 (stale data)** 这解决了关键竞态问题:之前的代码在 health_check_loop 中直接读 _max_aicore_usage,没有任何机制保证它来自当前轮次的采样。 #### C. HTTP 请求与 AICore 采样并行执行(最重要的架构改进) **之前(串行):** 发送虚拟请求 → 等待完成 → 通知 worker 开始采样 → Condition.wait(5s) 阻塞事件循环 → 读取结果 **之后(并行):** python sim_inference_success, sample_finished = await asyncio.gather( self._send_virtual_request_safe(timeout), # HTTP 请求 asyncio.to_thread( # AICore 采样等待 self._aicore_sample_done.wait, _AICORE_SAMPLE_WINDOW_SEC ), ) - 两个操作同时进行,健康检查周期从 "HTTP时间 + 采样时间" 变为 max(HTTP时间, 采样时间) - 原先在 async 函数中直接调用 threading.Condition.wait() **会阻塞整个 asyncio 事件循环**最多 3 秒,现在通过 asyncio.to_thread 将阻塞操作移到线程池,正确释放事件循环 - 采样等待被限制在 _AICORE_SAMPLE_WINDOW_SEC (5s) 内,超时则标记 sample_finished=False #### D. 区分 "AICore 不可用" 与 "零使用率" 新增 _aicore_usage_available 状态标记: - get_aicore_usage() 成功返回 0% → **可用,使用率为零** - get_aicore_usage() 报错 / 采样超时 → **不可用** 对应的决策逻辑变化: | 场景 | 旧行为 | 新行为 | |---|---|---| | AICore 不可用 + 请求失败 | 会累计失败次数 | **跳过失败计数**(不确定系统真实状态) | | AICore 可用 + 使用率低 + 请求失败 | 累计失败次数 | 累计失败次数(不变) | | AICore 不可用 + 请求成功 | 重置失败计数 | 重置失败计数(合理,系统能正常工作) | ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!321 | 4 天前 | |
update license Co-authored-by: y1lou<louyi6@huawei.com> # message auto-generated for no-merge-commit merge: !185 merge update_license into master update license Created-by: y1lou Commit-by: y1lou Merged-by: ascend-robot Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [ ] 代码注释完备 [ ] 正确记录维测日志 [ ] 是否有UT用例 [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-pyMotor!185 | 4 个月前 | |
Feature:Server日志进程名称MainProcess整改 Co-authored-by: Jechin<yuzechen1@huawei.com> # message auto-generated for no-merge-commit merge: !232 merge feat/nm-engine-process-title into master Feature:Server日志进程名称MainProcess整改 Created-by: Jechin Commit-by: Jechin Merged-by: towncharlie Description: ## **1. 合入背景** > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 请通过#ISSUE ID关联issue。\ > 注意: Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes [#156](https://gitcode.com/Ascend/MindIE-PyMotor/issues/156) ## **2. 修改内容** > 请<ins>**描述修改内容的具体实现**</ins>,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。 > 如果是需求或者重构类的PR,需要<ins>**补充详细设计文档**</ins>(说明上下游组件关系、时序图、类图、DFX能力等内容)。 日志中进程名修改为对应组件名称 ## **3. 资料变更** > 请确认<ins>**是否涉及资料变更**</ins>。\ > 如涉及,需要在PR中体现,并简要说明修改内容。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **4. 接口变更** > 请确认<ins>**是否涉及跨代码仓或者客户面可见的接口变更**</ins>。\ > 如涉及,需详细说明接口以及对应的变更内容,同时需要在资料中体现。\ > 如不涉及,需填写“不涉及”。 不涉及 ## **5. 测试结果** > 需体现<ins>**测试场景,测试方法以及测试结果**</ins>。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 日志截图   ## **6. CheckList** > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] [x] 代码注释完备 [x] 正确记录维测日志 [x] 是否有UT用例 [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 See merge request: Ascend/MindIE-PyMotor!232 | 19 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 25 天前 | ||
| 12 小时前 | ||
| 3 个月前 | ||
| 4 天前 | ||
| 4 个月前 | ||
| 19 天前 |