Open
修复纯 DSL Native 算子的 custom 和 builtin 构建 #8
zyh_gitcodeAdd on 4 days ago
修复纯 DSL Native 算子的 custom 和 builtin 构建 #8
Open
zyh_gitcodeAdd on 4 days ago
zyh_gitcode
zyh_gitcodeCollaborators
4 days ago

描述

纯 DSL Native 算子单独打包时可以只提供 Host 和 Device 产物。原框架要求 custom 的 cust_proto 链接一个可能不存在的 infer-shape 对象,并要求 builtin 创建可能没有源文件的 opapi_transformer。只选纯 DSL Add 时,前者在链接阶段失败,后者在 CMake 生成阶段失败。

custom 仅链接实际存在的 infer-shape 目标。OpAPI 库按现有对象目标组装,创建后才配置安装。此 PR 只修改两个 CMake 框架文件。Add 验证算子见 PR #7。

测试

在 Ascend 950 上用同一 master 基线做对照。

  • 提取 PR #15301 的 Add,保留 ACLNN 适配和模块注册。在原框架上,custom 和 builtin 均生成 RUN。
  • 只保留 Add 的 Torch 与 Native 入口。在原框架上,两个 RUN 构建分别因 infer-shape 目标缺失和 OpAPI 源文件为空而失败。
  • 应用本修复后,纯 DSL Add、已有 ASC StemIndexer 和两者同包的 custom 与 builtin 六组 RUN 均通过。含 StemIndexer 的包保留 ACLNN 导出。含 Add 的四个包使用单独安装的 Torch wheel 上板,均命中包内 Native 二进制,128 个 FP32 输出与 torch.add 完全一致。

类型标签

likedislike
Merge blocked
zyh_gitcodezyh_gitcodeCollaborators
4 days ago Pushed 1 commits:45e1df73-fix(build): guard optional custom OpAPI packaging