已关闭
[Installation]: CANN 缺少 TBE 工程模板时全量 ops 编译失败 #365
yjy_ac创建于  19 天前关闭于  19 天前
yjy_ac
yjy_ac成员
19 天前 创建

问题描述

源码安装 MindIE-SD 时,setup.py 调用 build/build_ops.sh 在 AscendC 算子编译完成后进入 TIK 工程生成。msopgen gen -i ir_demo.json -f onnx -c ai_core-ascend310p(默认 -lan py)需要 CANN 提供 TBE 工程骨架目录:

${ASCEND_HOME_PATH}/tools/op_project_templates/op_project_tmpl

部分 toolkit 安装中该目录不存在(tools/op_project_templates/ 仅保留 ascendc/)。此时 msopgen 在解析 IR 之后报错并退出 101,整次 ops 构建失败,AscendC 算子也无法随包交付。

典型报错:

Start to generate a new project.
[ERROR] Get template file path failed. Please check if your cann-toolkit is installed and envs.
ERROR: Script failed with return code 101
ERROR: Build failed: Script execution failed: build/build_ops.sh

ASCEND_HOME_PATH / ASCEND_TOOLKIT_HOME 已正确指向 ascend-toolkit/latest、且 msopgen 二进制可执行时仍会失败。tools/ascend_project 在可编 TIK 与不可编 TIK 的 toolkit 上都可以不存在,不能作为判断条件。

对照:可成功生成 TIK 工程的 toolkit 在 tools/op_project_templates/ 下同时有 ascendc/、cpukernel/、op_project_tmpl/、tbe/。

相关:历史安装问题曾通过注释 build/build_ops.sh 中的 source build_tik_ops.sh 规避(见 #64)。本问题的根因是 TBE 工程模板缺失,需要构建脚本按该目录自动跳过,而不是要求手工改脚本。

环境信息

- 硬件:Ascend NPU 源码编译环境
- CANN:ascend-toolkit(`ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest`);失败环境 `tools/op_project_templates/` 仅含 `ascendc/`,无 `op_project_tmpl`
- 分支/版本:Ascend/MindIE-SD `dev`

复现步骤

  1. source CANN set_env.sh,确认 ASCEND_HOME_PATH 与 ASCEND_TOOLKIT_HOME 指向 toolkit latest。
  2. 确认 ${ASCEND_HOME_PATH}/tools/op_project_templates/op_project_tmpl 不存在。
  3. 在仓根目录执行源码构建(如 python setup.py bdist_wheel)。

期望行为

缺 TBE 工程模板时跳过 TIK 算子编译并给出 WARNING,AscendC 算子构建继续完成。模板目录存在时仍按原逻辑生成并编译 TIK 算子。

修复方案

见 PR:https://gitcode.com/Ascend/MindIE-SD/pull/641

likedislike
yjy_acyjy_ac成员
19 天前 关联了看板:MindIE-SD
ascend-robotascend-robot成员
19 天前 添加了label:installation
yjy_acyjy_ac成员
19 天前 关联了pull request:[Bugfix][build] Skip TIK ops when msopgen TBE template is missing
yjy_acyjy_ac成员
19 天前 修改了issue 的描述
ascend-robotascend-robot成员
19 天前 关闭了 issue
ascend-robotascend-robot成员
19 天前 issue状态由 TODO 改变为 DONE
ascend-robotascend-robot成员
19 天前 添加了label:resolved
lijinxilijinxi成员
15 天前 关联了pull request:[Bugfix][ops] 修复 quant_four_over_six_a5 与 eagle_ffn 的 Ops::Base::ToString 重定义导致全量构建链接失败