Closed
[Documentation|文档反馈]: aclnnUnfoldGrad 头文件将输出参数 gradIn 错标为 @param [in] #3825
liuhanwen8Add on 21 days agoClosed at 16 days ago
21 days ago Added label: documentation
liuhanwen8
21 days ago Comments:
21 days ago Comments:
拆自 #3797(原 4 项汇总单已关闭)。本单为其拆分项之一,详见 #3797 的拆分说明。


陈思
20 days ago Comments:
20 days ago Comments:
您好,感谢反馈!
核对 cann/ops-math 固定提交 b19eaee4f58e5e1e3cb3b2ecbfed2d02c11c820a 后,确认 aclnn_unfold_grad.h 将 gradIn 写成了 @param [in],而接口文档 明确将其定义为输出。实现 也通过 DFX_OUT(gradIn) 标记输出,并用 l0op::ViewCopy(..., gradIn, ...) 写回结果,三者确有注释口径不一致。
一个可行的修订是将这处参数方向改为 @param [out] gradIn,与文档和实现对齐。const aclTensor* 的接口签名可以保留,调用方仍需创建并传入有效的输出张量;这里修订的是方向说明。空指针返回码问题继续由 #3795 单独跟踪。我们会继续跟踪这处头文件说明的修订。


20 days ago Assign chensi79 as responsible person
20 days ago Added label: pending-confirmation
20 days ago Removed label: pending-confirmation
20 days ago Assign yue-ma as responsible person, remove original responsible person: chensi79
20 days ago Added label: pending-confirmation
17 days ago Removed label: pending-confirmation
tangkaidi
16 days ago Comments:
16 days ago Comments:
你好,感谢你的关注和反馈。
当前issue内提及的问题已经确认,将会尽快合入代码。
修复PR:https://gitcode.com/cann/ops-math/pull/6715


16 days ago Close issue
16 days ago Added label: resolved
问题描述
aclnnUnfoldGrad头文件将输出参数gradIn标注为@param [in],与同文件其他注释、以及配套文档的参数表均矛盾。位置:
conversion/unfold_grad/op_api/aclnn_unfold_grad.h:34(被检 commit3e45432d)* @param [in] gradOut: * npu device侧的aclTensor,数据类型支持BF16、FLOAT16、FLOAT。 * 支持[非连续的Tensor](#),数据格式支持ND。 * @param [in] inputSizes: * npu host侧的aclIntArray,数据类型支持INT64。 * 支持[非连续的Tensor](#),数据格式支持ND。 * @param [in] dim: npu host侧的int。 * @param [in] size: npu host侧的int。 * @param [in] step: npu host侧的int。 * @param [in] gradIn: // <- 此处错标为 [in] * npu device侧的aclTensor,数据类型支持BF16、FLOAT16、FLOAT。 * 支持[非连续的Tensor](#),数据格式支持ND。 * * @param [out] workspaceSize: 返回用户需要在npu device侧申请的workspace大小。 * @param [out] executor: 返回op执行器,包含了算子计算流程。同一个注释块中,紧随其后的
workspaceSize、executor均正确标为@param [out],仅gradIn标为[in],属明显笔误。三处口径对照
gradIn的标注aclnn_unfold_grad.h:34@param [in]← 错docs/aclnnUnfoldGrad.md:154-155参数表docs/aclnnUnfoldGrad.md:30说明文档两处一致认定
gradIn为输出,头文件单点写错。影响
调用方直接读头文件接接口时,会把
gradIn当成必填输入,可能漏传(触发空指针)或提前填充无意义数据(其结果会被算子覆盖)。头文件与文档打架时,使用者无法判断以哪个为准。注:
gradIn在签名中类型为const aclTensor*,属于「输出张量以 const 指针传入」的固定写法(内部由l0op::ViewCopy写入),const修饰不改变其输出语义,不影响本项判定。环境信息
cann/ops-mathHEAD3e45432d(2026-10-21)aclnnUnfoldGrad(conversion/unfold_grad)重现步骤
# 1. 头文件把输出标成输入 sed -n '25,45p' conversion/unfold_grad/op_api/aclnn_unfold_grad.h # 2. 文档参数表认定为输出 grep -n "gradIn" conversion/unfold_grad/docs/aclnnUnfoldGrad.md预期结果
aclnn_unfold_grad.h:34改为@param [out] gradIn:,与docs/aclnnUnfoldGrad.md:154-155及同注释块的workspaceSize/executor对齐。备注
与 #3797 的关系
本单拆自
#3797(4 项文档/契约问题汇总单)。按维护者分类口径,本项对应「输出标注」,单独跟踪以便文档 owner 直接改注释。与 #3795 的边界
#3795处理的是gradIn传 nullptr 时返回码错误(返回 561103 而非文档承诺的 161001),属运行期行为缺陷;本单只改注释标注,不涉及校验逻辑,两者不重叠。涉及文件
conversion/unfold_grad/op_api/aclnn_unfold_grad.h(1 行)