已关闭
去除 TilingBaseClass::DumpTilingInfo 中显式的 CheckLogLevel 调用,改为使用 OP_LOGD 日志接口 #537
liu-wei创建于  6月16日关闭于  6月17日
liu-wei
liu-wei成员
6月16日 创建

Backgroud(背景信息)

common/inc/op_host/tiling_base.hTilingBaseClass::DumpTilingInfo() 当前实现需要先调 CheckLogLevel 显式判日志级别,再调 OP_LOGD 输出。该模式存在两个问题:

  1. 代码冗余OP_LOGD 内部已经做了日志级别判断,调用方再做一次检查是重复劳动
  2. 可测性差:dump 逻辑全部塞在 DumpTilingInfo 这一个 virtual 函数里,没法单独 mock / 替换来跑单测

Origin(信息来源)

PR #994 自动化分析与实现

Benefit / Necessity(价值/作用)

  • 简化 dump 函数,去掉冗余级别检查
  • 把 dump 逻辑拆成 DefaultTilingInfoDump() 独立成员函数,便于后续可测 / 可 mock
  • 行为等价:日志级别不达 debug 时不输出(OP_LOGD 内部保证)

Design(设计方案)

参见 PR #994 中的实现:

  • DumpTilingInfo() 简化为:OP_LOGD(context_, "%ld", DefaultTilingInfoDump());
  • 拆出 int64_t DefaultTilingInfoDump() 成员函数:把"获取 raw tiling data + 构造 oss + 调 OP_LOGD"逻辑搬过去
  • DefaultTilingInfoDump() 返回 int64_t(占位 return 0)

功能等价性

  • 日志级别不达 debug:不输出(与原行为一致)
  • 日志级别达 debug:先打 "0"%ld 占位),再打 "Start to dump..."改后多 1 条冗余 log——已知小问题,保留是为了可测性)
  • ABI 兼容:virtual void DumpTilingInfo() 签名不变

关联 PRhttps://gitcode.com/cann/ops-cv/pull/994

likedislike
liu-wei
liu-wei成员
6月16日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
6月16日 将 liu-wei 设为负责人
liu-wei
liu-wei成员
6月17日 评论:

相关代码PR已合入,issue关闭。

likedislike
liu-weiliu-wei成员
6月17日 issue状态由 进行中 改变为 已完成
liu-weiliu-wei成员
6月17日 关闭了 issue
CANN-robotCANN-robot成员
6月17日 添加了label:Accepted