已关闭
[Bug][Build]:CANN 8.5.1 下 build.sh 因默认包含 ascend950 导致编译失败 #184
changetheway创建于 6月12日关闭于 7月8日
6月12日 添加了label:bug
Cchangetheway
6月12日 关联了pull request:[Feature][Build]Conditionally set ascend_compute_unit by CANN version
6月12日 关联了pull request:[Feature][Build]Conditionally set ascend_compute_unit by CANN version
Cchangetheway
6月15日 关联了pull request:[Feature][Build]Conditionally set ascend_compute_unit by CANN version
6月15日 关联了pull request:[Feature][Build]Conditionally set ascend_compute_unit by CANN version
lanwangli
6月16日 评论:
6月16日 评论:
Bug 问题已收到。本 Issue 已标记为 bug。
根因分析:
- 该问题与构建配置相关,可能是 CANN 版本与计算单元不匹配导致。
- 默认构建脚本可能未充分适配当前环境,缺少版本兼容性检查。
排查方向:
- 检查当前 CANN 版本与 ASCEND_COMPUTE_UNIT 的兼容性。
- 验证 build 脚本中是否存在硬编码的芯片型号。
- 查看 cmake 阶段的日志,确认 ops-info 生成步骤。
优化建议:
- 在 build 脚本中增加 CANN 版本自动检测逻辑。
- 对不支持的计算单元提供明确的跳过机制,而非直接报错。
- 补充不同 CANN 版本的构建兼容性矩阵。
请补充:
- 完整的错误日志和 traceback
- 复现步骤和环境信息(CANN 版本、硬件型号)
- 已尝试的排查手段
关联分析:
- 发现 PR #367 (
[Feature][Build]Conditionally set ascend_compute_unit by CANN version) 可能与本 Issue 相关。
该 PR 状态:open(未合入),目标分支:dev。 - 发现 PR #355 (
[Feature][Build]Conditionally set ascend_compute_unit by CANN version) 可能与本 Issue 相关。
该 PR 状态:closed(未合入),目标分支:master。 - 发现 PR #347 (
[feature][ops]: add mxfp4 quant flash attention softmax variants) 可能与本 Issue 相关。
该 PR 状态:merged(未合入),目标分支:dev。
建议维护者确认关联关系。


lanwangli
6月16日 评论:
6月16日 评论:
Bug 问题已收到。本 Issue 已标记为 bug。
根因分析:
- 该问题与构建配置相关,可能是 CANN 版本与计算单元不匹配导致。
- 默认构建脚本可能未充分适配当前环境,缺少版本兼容性检查。
排查方向:
- 检查当前 CANN 版本与 ASCEND_COMPUTE_UNIT 的兼容性。
- 验证 build 脚本中是否存在硬编码的芯片型号。
- 查看 cmake 阶段的日志,确认 ops-info 生成步骤。
优化建议:
- 在 build 脚本中增加 CANN 版本自动检测逻辑。
- 对不支持的计算单元提供明确的跳过机制,而非直接报错。
- 补充不同 CANN 版本的构建兼容性矩阵。
请补充:
- 完整的错误日志和 traceback
- 复现步骤和环境信息(CANN 版本、硬件型号)
- 已尝试的排查手段
关联分析:
- 发现 PR #367 (
[Feature][Build]Conditionally set ascend_compute_unit by CANN version) 可能与本 Issue 相关。
该 PR 状态:open(未合入),目标分支:dev。 - 发现 PR #355 (
[Feature][Build]Conditionally set ascend_compute_unit by CANN version) 可能与本 Issue 相关。
该 PR 状态:closed(未合入),目标分支:master。 - 发现 PR #347 (
[feature][ops]: add mxfp4 quant flash attention softmax variants) 可能与本 Issue 相关。
该 PR 状态:merged(未合入),目标分支:dev。
建议维护者确认关联关系。


7月3日 关联了看板:MindStudio ISSUE管理
7月8日 issue状态由 TODO 改变为 DONE
7月8日 关闭了 issue
7月8日 添加了label:resolved
8月31日 关联了看板:MindIE-SD
在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用
<TOKEN>等占位符替代原有内容。环境信息
🐛 问题描述
【问题描述】
在 CANN 8.5.1 环境下执行
bash build.sh编译 MindIE-SD,构建过程中因ascend950对应的aic-ascend950-ops-info.json文件缺失,导致gmake失败退出。完整错误链:
cp: cannot stat '.../autogen/aic-ascend950-ops-info.json': No such file or directory
gmake[2]: *** [CMakeFiles/generate_ops_info_ascend950.dir/build.make:75: autogen/aic-ascend950-ops-info.json] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1127: CMakeFiles/generate_ops_info_ascend950.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
ERROR: Build failed: Script execution failed: build_ops.sh
【根因分析】
build/build_ops.sh第 55 行中,默认的ASCEND_COMPUTE_UNIT包含了ascend950:local ascend_compute_unit=${ASCEND_COMPUTE_UNIT:-'ascend910;ascend910b;ascend910_93;ascend950'}但 CANN 8.5.1 不包含 ascend950 芯片的任何支持文件(经确认 /usr/local/Ascend/cann-8.5.1 下无任何 ascend950 相关目录或文件),导致:
cmake/msopgen 阶段未生成 aic-ascend950-ops-info.ini
后续 parse_ini_to_json.py 缺少输入文件,无法生成 aic-ascend950-ops-info.json
cp 命令找不到 json 文件,构建失败
代码仓已有 CANN 版本检查逻辑跳过 quant_flash_attn 等需要 CANN ≥ 9.0 的算子,但未对 ascend950 计算单元做同样的版本兼容检查。
欢迎加入社区,感谢您对社区的贡献 🎉!