Open
fix: CannBotDSL 不可用时跳过构建并隔离运行依赖 #3
zyh_gitcodeAdd on 15 days ago
fix: CannBotDSL 不可用时跳过构建并隔离运行依赖 #3
Open
zyh_gitcodeAdd on 15 days ago
zyh_gitcode
zyh_gitcodeCollaborators
15 days ago

描述

CannBotDSL 或配套组件不满足要求时,仅提示并跳过 DSL,混合算子的 ASC 与其他算子继续按原有条件编译、安装和运行。

  • 在原 build_cannbotdsl.py 中核对分发元数据声明的 Python/组件版本范围和 OpKit 分模式发布接口,复用已有 runtime、工具定位检查。已知环境不可用返回约定结果,源码、编译和完整性错误仍按原有流程报错。
  • CMake 使用标准 CheckCXXSourceCompiles 验证实际选定 SDK 的 DirectInvoke ABI 和 Runtime 加载/启动接口;跳过时不登记 DSL 包,并清理对应的历史发布目录。
  • 纯 DSL 算子只在发布成功后登记;全部选择均不可用时明确跳过空包生成。
  • 公共运行检查验证 DirectInvoke、Runtime API 和 SoC;通过可选符号引用保证缺失的 DSL 新接口不会阻止 ASC 共享库加载。
  • 自动生成 L0 使用带显式检查的编译副本,源码选择使用标准 CMake source 属性;保留 OpKit 发布内容和完整性数据。未生成混合 DSL Host 时提供轻量提示入口,MQSMLA 不增加 WITH_DSL 分发宏。

本 PR 从上游 !14779 的源分支 zyh-mqsmla-l2-l0 创建,并以该分支为目标;只修改 Transformer 仓。

测试

提交 8ae8f1342,在 Linux aarch64 / GCC 13.3 的独立源码副本中执行:

python -m pytest tests/ut/python/test_cannbotdsl_compatibility.py tests/ut/python/test_cannbotdsl_build.py tests/ut/python/test_dsl_example_compile_scope.py -q -rs

结果:188 passed, 1 skipped。跳过项为未配置标准 CANN 索引生成器的用例。

覆盖组件版本范围、Host/Kernel/All 跳过、ASC 构建安装调用、历史发布清理、选定 SDK 链接探测、缺少可选符号时 RTLD_NOW 加载、SoC 检查、不可用 L0、生成 L0 的显式门控(含相对路径)以及源码错误不会被归类为环境跳过、普通算子与纯 DSL 全跳过的收包选择。

Python 语法、bash -n 与 git diff --check 通过。使用接口替身验证兼容性边界,HiBuild 整包和 NPU 实机验证尚未完成。

文档更新

DSL quickstart 补充环境检查、构建跳过、运行提示和混合 L0 接入说明。

likedislike
Merge blocked
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:19c4915b-test: verify DSL ABI probes against selected SDK libraries
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:59934954-fix: skip DSL when the selected runtime library is missing
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:098d98e6-refactor: make DSL runtime checks explicit and remove dispatch macros
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Modify description of pull request
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:80817124-test: cover relative generated sources in explicit DSL checks
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Modify description of pull request
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:6f83a7e4-refactor: consolidate optional DSL checks into publication
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Change title to "fix: CannBotDSL 不可用时跳过构建并隔离运行依赖", originally titled "fix: 隔离 CannBotDSL 可选依赖并补充编译与运行兼容检查".
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Modify description of pull request
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Pushed 1 commits:8ae8f134-test: cover normal and unavailable-only package selections
zyh_gitcodezyh_gitcodeCollaborators
15 days ago Modify description of pull request