Skip to content

[Code Health] A5 HBG AICore 调度:全部功能实现后删除 legacy 回退路径 #2861

Open

Description

@poursoul

最新进展(2026-11-11)

状态:OPEN,legacy 回退仍存在,继续等待剩余功能与组合验收。 负责人 @poursoul。

下一步: 完成剩余三项功能及约定组合验收,再按最终 main 的可达调用与构建引用删除旧调度入口、专用 executor、配置和测试依赖。保留当前有效 runtime variants/支持功能,接口与 producer、consumer、测试、文档同步更新。

Category

Technical Debt (cleanup, refactor)

Component

Other (please specify in description)

Description

在 #2667 的全部功能实现并完成验收后,删除 A5 host_build_graph AICore scheduling 工作线保留的 legacy AICPU 调度回退路径,使该范围内的任务统一通过 AICore resident Scheduler 执行。

父 Issue:#2667。沿用工作线负责人 @poursoul。本项是功能补齐后的收尾清理,不能以关闭回退入口代替功能实现,也不能把父 Issue 已关闭作为开始清理的前提。

当前功能子项:

以上子项及 #2667 最终约定范围内的其余功能、组合语义和消费者交接完成后,再执行本项。普通 SPMD / sync-start 已有 #2785 的集成记录;清理时应依据最终集成版本盘点剩余回退入口,不沿用早期实现的能力边界。

Location

  • src/a5/runtime/host_build_graph/host/runtime_maker.cpp:select_legacy_scheduler 及 capability / runtime mode 选择。
  • src/a5/runtime/host_build_graph/aicpu/aicpu_executor.cpp、aicpu/aicpu_legacy_executor.cpp:legacy AICPU 分流和调度实现。
  • src/a5/runtime/host_build_graph/aicore/aicore_executor.cpp、aicore/aicore_legacy_executor.cpp:legacy AICore 分流和执行实现。
  • 同 runtime 下的 runtime/scheduler/、构建配置及相关测试、文档;具体删除清单以最终集成版本的调用关系为准。

Proposed Fix

  1. 汇总全部功能及组合支持的验收证据,逐项确认原先需要 legacy 的场景已有 resident 实现;未完成项继续作为前置阻塞。
  2. 删除自动或显式选择 legacy 调度的入口、LEGACY_GRAPH / LEGACY_UNSUPPORTED_SHAPE 等回退模式,以及仅服务该路径的 executor、状态、数据结构和构建产物。共享的启动、关闭、错误处理和资源生命周期逻辑按实际调用关系保留。
  3. 删除仅为旧路径保留的开关、宏、参数、日志分支及测试配置;同步更新文档和测试,不保留隐藏的兼容回退入口。
  4. 对最终支持范围之外或非法的输入给出明确诊断,不能静默进入旧 Scheduler。仍在使用的接口或数据布局按消费者依赖完成迁移。

Acceptance criteria

本项清理尚未完成;前置功能的实际交付进展见正文开头,不能以删除回退入口代替剩余功能验收。

Priority

Medium (minor risk, should fix in next few releases)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

code healthTechnical debt, robustness, code quality

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions