已关闭
[Bug-Report|缺陷反馈]: --pkg 模式编译仅有信息库无 op_kernel 的算子(如 bitcast)时 kernel 编译报错 #2785
songkai111创建于 13 天前关闭于 12 天前
13 天前 添加了label:bug-report
songkai111
13 天前 评论:
13 天前 评论:
/assign @songkai111


13 天前 将 songkai111 设为负责人
12 天前 关闭了 issue
12 天前 添加了label:resolved
一、问题描述 (必填)
--pkg出包模式下编译仅定义算子信息库、没有 kernel 实现的算子(如bitcast)时,kernel 二进制编译链路报错:cmake/gen_ops_info.cmake按 SoC 编译算子的循环中,对不存在op_kernel目录的算子执行find ${OP_DIR}/op_kernel会报"目录不存在",导致出包编译失败;scripts/kernel/binary_script/gen_opcinfo_from_opinfo.py在解析opFile.value=Null(表示仅有信息库、无 kernel 实现)的算子时会生成dynamic/Null.py条目写入 kernel 编译清单,残留无效条目导致编译失败;scripts/util/parse_ini_to_json.py的FORMAT_LIST缺少FRACTAL_NZ_C0_8(CANN 原生支持的ACL_FORMAT_FRACTAL_NZ_C0_8),使用该格式的算子 ops-info 校验不通过。二、环境信息 (可选)
三、重现步骤 (可选)
期望:构建成功,包内 ops-info 正常注册 Bitcast,无 kernel 二进制。
实际:kernel 编译链路因
op_kernel目录不存在报错。四、预期结果 (可选)
cmake/gen_ops_info.cmake:无op_kernel目录的算子跳过 kernel 二进制编译,与get_op_type_and_validate中已有判断保持一致,并与 cann/ops-nn 仓既有行为对齐;parse_ini_to_json.py:FORMAT_LIST补充FRACTAL_NZ_C0_8,使使用该格式的算子 ops-info 校验通过;gen_opcinfo_from_opinfo.py:opFile.value=Null/None的算子不再写入 kernel 编译清单,避免残留dynamic/Null.py条目。💡 备注(选填)
关联 PR:https://gitcode.com/cann/ops-math/pull/4900