当前 cann/ops-nn 仓库中 conv / foreach / norm / quant 等多个算子 host 侧 tiling 代码使用通用 OP_LOGE(nodeName, "...") 输出报错信息,仅有一段自然语言描述,缺少错误分类、参数名与实际值,不符合 op_loge 日志规范,下游定位非法输入参数时困难。
OP_LOGE(nodeName, "...")
算子质量与报错规范化整改 —— 落实 op_loge 日志规范(按错误类型分类、携带参数名 / 实际值 / 原因)。
将上述算子 tiling 中的 OP_LOGE(...) 替换为 OP_LOGE_FOR_INVALID_*_WITH_REASON 系列宏,按错误类型选择对应宏,统一传入 (nodeName, paramName, actualValue, reason):
OP_LOGE(...)
OP_LOGE_FOR_INVALID_*_WITH_REASON
(nodeName, paramName, actualValue, reason)
OP_LOGE_FOR_INVALID_VALUE_WITH_REASON
OP_LOGE_FOR_INVALID_VALUES_WITH_REASON
OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON
OP_LOGE_FOR_INVALID_DTYPES_WITH_REASON
OP_LOGE_FOR_INVALID_SHAPESIZE_WITH_REASON
OP_LOGE_FOR_INVALID_SHAPESIZES_WITH_REASON
OP_LOGE_FOR_INVALID_SHAPEDIM(_WITH_REASON)
OP_LOGE_FOR_INVALID_SHAPE_WITH_REASON
涉及算子(共 8 个文件):
deformable_offsets
deformable_offsets_grad
foreach_non_finite_check_and_unscale
group_norm_grad
group_norm_silu
group_norm_v2
dequant_swiglu_quant
关联 PR:https://gitcode.com/cann/ops-nn/pull/6677
/assign @chensi79
Backgroud(背景信息)
当前 cann/ops-nn 仓库中 conv / foreach / norm / quant 等多个算子 host 侧 tiling 代码使用通用
OP_LOGE(nodeName, "...")输出报错信息,仅有一段自然语言描述,缺少错误分类、参数名与实际值,不符合 op_loge 日志规范,下游定位非法输入参数时困难。Origin(信息来源)
算子质量与报错规范化整改 —— 落实 op_loge 日志规范(按错误类型分类、携带参数名 / 实际值 / 原因)。
Benefit / Necessity(价值/作用)
Design(设计方案)
将上述算子 tiling 中的
OP_LOGE(...)替换为OP_LOGE_FOR_INVALID_*_WITH_REASON系列宏,按错误类型选择对应宏,统一传入(nodeName, paramName, actualValue, reason):OP_LOGE_FOR_INVALID_VALUE_WITH_REASON/OP_LOGE_FOR_INVALID_VALUES_WITH_REASONOP_LOGE_FOR_INVALID_DTYPE_WITH_REASONOP_LOGE_FOR_INVALID_DTYPES_WITH_REASONOP_LOGE_FOR_INVALID_SHAPESIZE_WITH_REASONOP_LOGE_FOR_INVALID_SHAPESIZES_WITH_REASONOP_LOGE_FOR_INVALID_SHAPEDIM(_WITH_REASON)OP_LOGE_FOR_INVALID_SHAPE_WITH_REASON涉及算子(共 8 个文件):
deformable_offsets(arch35)、deformable_offsets_grad(arch35)foreach_non_finite_check_and_unscalegroup_norm_grad、group_norm_silu(arch35)、group_norm_v2(arch35)dequant_swiglu_quant、dequant_swiglu_quant(arch35)关联 PR:https://gitcode.com/cann/ops-nn/pull/6677