已关闭
[Requirement|需求建议]: Kernel直调工程兼容优化 #702
ApeiriaNode_Booker创建于  5月20日关闭于  5月26日
ApeiriaNode_Booker
ApeiriaNode_Booker成员
5月20日 创建

Backgroud(背景信息)

当前 AscendC Kernel 直调工程中,ascendc_runtime.cpp 仍调用 runtime 内部 rt* 接口并依赖 runtime/rt_ffts.h、runtime/kernel.h 等内部头文件。在 dav-2002(1951)和 dav-2201(1971)场景下,直调工程需要兼容融合编译模式,不能继续依赖这些内部接口和头文件。

Origin(信息来源)

  • 内部需求

Benefit / Necessity(价值/作用)

  • 消除直调工程对 runtime 内部头文件和内部 rt* 接口的依赖。
  • 使 1951/1971 机器上的直调工程与融合编译模式兼容。
  • 提升直调工程长期维护性,降低后续 runtime 内部接口变化带来的适配风险。

Design(设计方案)

  • 将 rtRegisterAllKernel 替换为 aclrtBinaryLoadFromData。
  • 将 rtKernelLaunchWithHandle、rtKernelLaunchWithHandleV2、rtVectorCoreKernelLaunchWithHandle 替换为 aclrtLaunchKernelWithHostArgs。
  • 将 rtGetC2cCtrlAddr 替换为 aclrtGetHardwareSyncAddr。
  • 删除不再需要的 rtDevBinaryRegister、rtFunctionRegister、rtKernelLaunchWithFlagV2、rtDevBinaryUnRegister 等路径或迁移到公开接口。
  • 删除 runtime/rt_ffts.h、runtime/kernel.h 内部头文件引用,并同步清理 UT、stub 与 CMakeLists。

Acceptance Criteria(验收标准)

  • ascendc_runtime.cpp 不再依赖 runtime/rt_ffts.h 和 runtime/kernel.h。
  • 相关 rt* 接口替换、删除或转移完成。
  • 黄区 51(dav-2002)和 71(dav-2201)直调验证通过。
  • 黄区 51/71 融合编译验证通过。
  • UT 全量通过,删除路径对应用例不再执行。
likedislike
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 添加了label:requirement
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 修改了issue 的描述
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 关联了pull request:[WIP] Kernel直调工程兼容优化
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 将 Water8L 设为负责人
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 删除了关联的pull request:[WIP] Kernel直调工程兼容优化
WWater8L成员
5月20日 关联了pull request:[WIP] Kernel直调工程兼容优化
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 关联了里程碑:Ascend C Release Plan 2026Q2
ApeiriaNode_BookerApeiriaNode_Booker成员
5月20日 将 ApeiriaNode_Booker 设为负责人
CANN-robotCANN-robot成员
5月26日 关闭了 issue
CANN-robotCANN-robot成员
5月26日 添加了label:resolved
ApeiriaNode_BookerApeiriaNode_Booker成员
6 天前 添加了label:Accepted