Closed
【需求】ops-transformer支持DAV_5162并按芯片裁剪mc2模块 #6265
wuxueningAdd on  23 days agoClosed at  9 days ago
wuxuening
23 days ago Create

需求背景

Ascend5162A(DAV_5162,端侧 Tiny 类芯片,无 CCU)适配 ops-transformer 时存在两处框架缺口:RegBase 架构集合未包含 DAV_5162;mc2 模块(依赖 CCU 集合通信)在 5162A 下未按芯片裁剪,仍参与编译。

需求内容

  1. common/src/op_host/tiling_util.cpp:IsRegbaseSocVersion 架构集合增加 DAV_5162;
  2. common/include/external/aclnn_kernels/aclnn_platform.h:IsRegbase 架构集合增加 DAV_5162;
  3. CMakeLists.txt:ascend5162a 下跳过 mc2 子目录(对齐 kirinx90/kirin9030/mc62 的既有裁剪模式);
  4. cmake/func.cmake:CANNDEV mc2 glob 排除列表补充 ascend5162a。

验收标准

  • 5162A 上 RegBase 类算子 tiling 路径判断生效;
  • --soc=ascend5162a 构建不编译 mc2 模块;
  • 既有架构构建行为不变。
likedislike
Wwuxuening
23 days ago Associated pull request
周云飞
周云飞Collaborators
23 days ago Comments:

您好,感谢提供明确的适配范围和验收标准。

需求分析

当前两处公共判断函数 IsRegbaseSocVersion 和 IsRegbase 的架构集合均只包含 DAV_3510、DAV_5102 和 DAV_9201。当传入 DAV_5162 时,两者都会返回 false。因此,对于依赖这些函数选择 RegBase 路径的逻辑,现有判断无法将 DAV_5162 识别为 RegBase 架构。

mc2 部分,您反馈的触发条件是:5162A 不具备 CCU 能力,但构建时仍纳入依赖该能力的模块。按目标芯片排除不适用模块是合理的适配方向;不过,目前提供的代码片段未覆盖两处 CMake 配置,具体条件及其对其他构建入口的影响仍需确认。

处理方向

一个可行的方案是同步调整两组位置:

  • 在 tiling_util.cpp 和 aclnn_platform.h 的架构集合中同时补充 DAV_5162,保持 tiling 侧与 ACLNN 侧的识别结果一致。该调整只解决公共架构判断,不代表所有 RegBase 算子都已具备 5162A 支持。
  • 按您提出的现有裁剪模式,在顶层 CMakeLists.txt 的 mc2 子目录条件和 cmake/func.cmake 的 CANNDEV mc2 文件收集条件中同时排除 ascend5162a,避免只关闭一个入口后,另一个入口仍纳入 mc2。

验证应围绕您列出的三个目标展开:确认实际获取的架构值为 DAV_5162 时,相关算子进入预期 tiling 路径;确认 --soc=ascend5162a 的适用构建入口不再纳入 mc2;并保持其他芯片原有的架构识别与模块选择行为。当前尚无构建或运行验证结果,后续可沿上述范围继续确认适配边界。

likedislike
游震Collaborators
23 days ago Comments:

/assign @wuxuening

likedislike
CANN-robotCANN-robotCollaborators
23 days ago Assign wuxuening as responsible person
CANN-robotCANN-robotCollaborators
9 days ago Close issue
CANN-robotCANN-robotCollaborators
9 days ago Added label: resolved