已关闭
[Requirement|需求建议]: 简化 convolution_backward 空指针防御性校验并清理冗余空行 #5224
Nice try创建于  13 天前关闭于  13 天前
Nice try
Nice try成员
13 天前 创建

Backgroud(背景信息)

aclnnConvolutionBackwardGetWorkspaceSizeaclnnConvTbcBackwardGetWorkspaceSizeconv/convolution_backward/op_api/aclnn_convolution_backward.cpp)中,入参(input/weight/gradOutput,ConvTbc 为 self/input/weight/bias)的空指针判断使用 if (x != nullptr) 条件包裹 Contiguous 调用,代码结构冗余;且 conv3d_backprop_filter_v2 tiling 代码中存在多余空行,需要清理。

Origin(信息来源)

代码清理(cleancode)需求,来源于代码检视过程中对代码结构可读性的改进建议。

Benefit / Necessity (价值/作用)

  • 将空指针校验前置为统一的防御性检查,消除条件嵌套,使返回值判断紧随函数调用,提升可读性与可维护性;
  • 删除多余空行,保持代码风格一致。

Design(设计方案)

  • CheckParams()/CheckTbcParams() 返回成功后增加 CHECK_RET(input != nullptr && ..., ACLNN_ERR_PARAM_NULLPTR) 统一防御性校验,并将 Contiguous 调用改为无条件执行(转换结果非空则返回 ACLNN_ERR_INNER_NULLPTR);
  • 该校验在运行时不可达:checker 内部 CheckNotNull()/CheckTbcNotNull() 已强制入参非空,故语义不变;
  • 删除 tiling 中 AdjustSingleNForStreamK() 的多余空行。

关联 PR:https://gitcode.com/cann/ops-nn/pull/9309

likedislike
Nice tryNice try成员
13 天前 添加了label:requirement
Nice try
Nice try成员
13 天前 评论:

/assign @Nice_try

likedislike
CANN-robotCANN-robot成员
13 天前 将 Nice_try 设为负责人
Nice tryNice try成员
13 天前 修改标题为 “[Requirement|需求建议]: 简化 convolution_backward 空指针防御性校验并清理冗余空行”,原标题为“[Requirement|需求建议]: 清理 conv3d_backprop_filter_v2 tiling 代码中的冗余空行”
Nice tryNice try成员
13 天前 修改了issue 的描述
CANN-robotCANN-robot成员
13 天前 关闭了 issue
CANN-robotCANN-robot成员
12 天前 添加了label:resolved