Pull Request已成功合入, 合并人@CANN-robot
(感谢 duanpengliang 的贡献)变更摘要
本次 PR 主要对 ACL 和 Runtime 代码库中的日志输出进行系统性改进:将日志中直接打印枚举整数值(如 %d)改为调用枚举转字符串函数打印可读描述(格式为 NAME(value) 或 UNKNOWN(value))。为此在 data_type_utils.h(ACL 侧)和 enum_desc.hpp / capture_model_enum_desc.hpp / task_enum_desc.hpp(Runtime 侧)新增了大量枚举描述函数,并修改了约 50 个文件中的日志调用点。同时部分已有枚举描述函数的标签前缀从 ACL_XXX(value) 简化为 XXX(value),去除了冗余的命名空间前缀。
主要改动
-
ACL 侧新增枚举描述函数: 在
src/acl/utils/data_type_utils.h中新增GetCannAttrDesc、GetDevResLimitTypeDesc、GetReduceKindDesc、GetMemLinkTypeDesc、GetErrorTypeDesc、GetConditionDesc、GetCompareDataTypeDesc、GetIpcMemAttrTypeDesc、GetFloatOverflowModeDesc、GetCmoTypeDesc、GetDeviceLimitDesc共 11 个函数,统一返回NAME(value)或UNKNOWN(value)格式字符串 -
Runtime 侧新增枚举描述函数: 在
src/runtime/core/inc/common/enum_desc.hpp中新增SysParamOptToString、DevResLimitTypeToString、ConditionToString、KernelAttrTypeToString、LaunchKernelAttrIdToString、DevAttrToString、CmoOpCodeToString、MemLocationTypeToString、FloatOverflowModeToString、LimitTypeToString、MallocPolicyToString、MallocAttrToString、HacTypeToString、MemPoolAttrToString、DeviceStatusToString、DrvMemHandleTypeToString、MemSharedHandleTypeToString、ManagedMemLocationTypeToString等近 20 个函数 -
已有枚举描述标签格式简化:
data_type_utils.h中GetSysParamOptDesc、GetMemLocationTypeDesc等函数的返回标签从带ACL_前缀(如ACL_OPT_DETERMINISTIC(0))改为去除前缀(如OPT_DETERMINISTIC(0));GetCallbackBlockTypeDesc的期望值描述也同步更新 -
约 50 个文件中的日志调用点更新: 将
ACL_LOG_ERROR/INFO/WARN和RT_LOG中的%d(配合static_cast<int32_t>(enumValue))全部替换为%s(配合对应的枚举描述函数调用),覆盖queue.cpp、device.c、memory.c、acl.cpp、device.cpp、stream.cpp、api_error.cc、api_impl.cc等核心文件 -
新增单元测试覆盖: 在
acl_common_unittest.cpp和rt_utest_enum_to_string_utils.cc中分别新增测试用例验证已知枚举值的描述字符串格式以及未知枚举值返回UNKNOWN(n)的正确性


/lgtm
/approve


/approve
/lgtm


Pull Request
描述
请清晰准确地描述本次 Pull Request 的意图和变更内容。
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
跑测试用例覆盖日志输出看是否有魔鬼数字
核对清单
其他信息
在此添加任何其他关于本次 PR 的说明。