Open
[docs] norm_multiply_dropout算子README/接口文档/API索引与SOC白名单接入 #237
[docs] norm_multiply_dropout算子README/接口文档/API索引与SOC白名单接入 #237
Open
penghuiyangAdd on 5 days ago
penghuiyangCollaborators
5 days ago

合入来源

问题/功能描述

norm_multiply_dropout 算子迁移(系列 PR 6/6,收尾):算子全部文档与 SOC 白名单接入。

本系列 6 个 PR 基于同一基线独立拆分,每个 PR 的 diff 仅包含自身变更(均 <1000 行),建议按 P1→P6 顺序合入;目录 CMakeLists 挂载在 P5 生效,SOC 白名单与全部文档在 P6 生效。

修改方案描述

  • 新增前向/反向算子 README(功能说明、使用方式、目录结构)
  • 新增前向/反向 aclnn/torch 双接口文档(计算公式、参数约束、mask 位图规则等)
  • docs/zh/ops_rec_api.md 索引补充 norm_multiply_dropout 前反向算子说明与目录结构
  • 构建接入(公共修改):cmake/soc_ops_config.cmake 将 norm_multiply_dropout 加入 atlas_950 / atlas_a3 / atlas_a2 三份算子白名单(本 PR 合入后算子在三个 SOC 变体上生效)
  • .gitignore 补充构建产物忽略规则

是否涉及UT/ST

开发自检

likedislike
Merge blocked
PpenghuiyangCollaborators
5 days ago Change title to "[docs] norm_multiply_dropout算子README/索引文档与SOC白名单接入", originally titled "!721 [docs] norm_multiply_dropout 算子 README/索引文档与 SOC 白名单接入".
ascend-robot
ascend-robotCollaborators
5 days ago Comments:

ascend docs pipeline is running...

likedislike
ascend-robotascend-robotCollaborators
5 days ago Added label: docs-ci-pipeline-running
5 event messages are collapsed here。 See more
PpenghuiyangCollaborators
5 days ago Modify description of pull request
alliswell1024Collaborators4 days agoStart code review1
ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/docs/aclnn_norm_multiply_dropout_backward.md
@@ -0,0 +27,4 @@
27+ const aclTensor *var,
28+ const aclTensor *mask,
29+ float eps,
30+ float dropoutRatio,
alliswell10244 days agoComments:

aclnn 反向函数原型把 dU 写在 dX 前面,和算子实际输出顺序相反,照着写会静默交换两路梯度

问题描述:原型里的输出参数是 dU, dX, dWeight, dBias(本行到 L33),但 OpDef 注册顺序是 d_x → d_u → d_weight → d_bias,plugin 实际调用也是 ... maskCont, eps, dropoutRatio, dX, dU, dWeight, dBias;同一篇文档下面的参数表(L61-L64)顺序也是 dX 在前、dU 在后,只有函数原型是反的。d_x 和 d_u 的 shape、dtype 完全相同,顺序写反编译器不报错、运行也不报错,调用方拿到的是两路互换的梯度,训练时表现为「x 的梯度和 u 的梯度对不上」,很难查。另外 eps/dropoutRatio 在生成的 aclnn 接口里是 double(plugin 注释「aclnn 生成的接口 Float 属性为 double,直接透传」),文档写成 float 与实物不符。

建议:原型改成 ... const aclTensor *mask, double eps, double dropoutRatio, const aclTensor *dX, const aclTensor *dU, const aclTensor *dWeight, const aclTensor *dBias, ...;前向 aclnn 文档 L33-L34 的 float eps/float dropoutRatio 也一起核对。

likedislike
alliswell1024Collaborators4 days agoStart code review3
ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/README.md
Outdated
@@ -0,0 +15,4 @@
15+计算公式:
16+ 
17+```text
18+d_u = d_out * ln_ret * (1 - drop_mask)
alliswell10244 days agoComments:

反向 README 的公式和 kernel 实际算法对不上:dropout 是带缩放的,mask 也不是「1 表示丢弃」

问题描述:本行到 L21 写的是 d_u = d_out * ln_ret * (1 - drop_mask) 等,但 kernel 用的是 probValue = 1 - dropoutRatio 加 DropOut<float, false, 3>,第二个模板参数 isNoDiv=false 表示要除以 (1-p),mask 中 1 表示保留;前向 kernel 同样用 isNoDiv=false,对应 PyTorch 的倒置 dropout 语义。按文档的 (1 - drop_mask) 且没有 1/(1-p) 去实现或校验,p 不为 0 时 d_u、d_x、d_weight、d_bias 全部和实物不一致,误差随 p 放大;用这份公式写的 golden 会把正确实现判成错误。drop_mask 这个命名也容易让人以为 1 表示丢弃,和 mask 位图的实际含义正好相反。

建议:公式改成 keep = mask / (1 - dropout_ratio),四行都用 keep 乘上去,例如 d_u = d_out * keep * ln_ret;并在参数表里写清「bit=1 表示该元素保留,kernel 内部按 1/(1-p) 缩放」。

likedislike
penghuiyangCollaborators
4 days ago Comments:

已修改

System
System MessageSystem
4 days ago Comments:

changed this line on c90e8cb6 view diff detail

alliswell1024Collaborators4 days agoStart code review2
ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_forward/README.md
@@ -0,0 +75,4 @@
75+ 
76+## 调用示例
77+ 
78+- [torch 调用示例](./examples/torch/test_torch_norm_multiply_dropout_forward.py)
alliswell10244 days agoComments:

README 里指向的示例、用例、插件文件在当前分支都不存在,链接现在是死的

问题描述:本行和 L79 指向的 examples/torch/test_torch_norm_multiply_dropout_forward.py、test/pytest/test_norm_multiply_dropout_forward.py 来自 #234/#235,反向 README L66-L67 和 aclnn 反向文档 L99 指向的插件文件来自 #233;当前分支这几个目录只有 README 和 docs,点进去都是 404。这个 README 是用户第一眼看到的东西,先合入的话「torch 调用示例」「aclnn 调用示例」全部失效;如果之后 #234/#235 改了文件路径或名字,也没人会发现链接对不上。

建议:在 PR 描述里写明依赖 #233/#234/#235 的合入顺序,或者等代码 PR 合入后再提这份文档,让链接一落地就是通的。

likedislike
penghuiyangCollaborators
4 days ago Comments:

该PR最后合入。前序PR合入后,该PR的链接就正常了。

PpenghuiyangCollaborators
4 days ago Pushed 1 commits:c90e8cb6-[docs] code check modify
PpenghuiyangCollaborators
4 days ago Pushed 32 commits:6427e666-31 commits from branch master,63cbe5de-merge remote branch
ascend-robotascend-robotCollaborators
4 days ago Added label: stat/needs-squash
ascend-robotascend-robotCollaborators
4 days ago Added label: ascend-cla/yes
AtlasAccountAtlasAccountCollaborators
4 days ago Added label: ci-pipeline-running
ascend-robot
ascend-robotCollaborators
4 days ago Comments:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.


PR Approval Progress

⚠️ This PR does not yet meet the following requirements:lgtm (requires ≥ 2 person(s) per module)、approve (requires ≥ 1 person(s) per module)

Module Approval Details

module lgtm status approve status
repo-Ascend/ops-rec ❌ (0/2)(You can also ask: imhandsome1, zhang-jinyuan30074502, CUIZIBO, obl1vious, B1anrK) ❌ (0/1)(You can also ask: hjj12345678_, 项攀霄, 黄诗磊, tqy1998, 蒋皓洋)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

huiyangpeng, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
ascend-robot
ascend-robotCollaborators
4 days ago Comments:

ascend docs pipeline is running...

likedislike
ascend-robot
ascend-robotCollaborators
4 days ago Comments:

❌ 文档门禁未通过!

检查项 检查结果 详情
markdownlint ✅ 已通过 查看详情
link-validity-check ❌ 未通过 查看详情
resource-existence-check ✅ 已通过 查看详情
tag-closed-check ✅ 已通过 查看详情

💡 本次检查出 8 项错误,详情内容如下:

序号 错误详情
1 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/README.md
[检查类型]:link-validity-check
[错误位置]:第 66 行
[错误信息]:本地路径链接无法访问
[错误内容]:./examples/torch/test_torch_norm_multiply_dropout_backward.py
2 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/README.md
[检查类型]:link-validity-check
[错误位置]:第 67 行
[错误信息]:本地路径链接无法访问
[错误内容]:./test/pytest/test_norm_multiply_dropout_backward.py
3 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/docs/aclnn_norm_multiply_dropout_backward.md
[检查类型]:link-validity-check
[错误位置]:第 99 行
[错误信息]:本地路径链接无法访问
[错误内容]:../../torch_extension/norm_multiply_dropout_backward_plugin.cpp
4 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_backward/docs/torch_norm_multiply_dropout_backward.md
[检查类型]:link-validity-check
[错误位置]:第 66 行
[错误信息]:本地路径链接无法访问
[错误内容]:../test/pytest/test_norm_multiply_dropout_backward.py
5 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_forward/README.md
[检查类型]:link-validity-check
[错误位置]:第 78 行
[错误信息]:本地路径链接无法访问
[错误内容]:./examples/torch/test_torch_norm_multiply_dropout_forward.py
6 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_forward/README.md
[检查类型]:link-validity-check
[错误位置]:第 79 行
[错误信息]:本地路径链接无法访问
[错误内容]:./test/pytest/test_norm_multiply_dropout_forward.py
7 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_forward/docs/aclnn_norm_multiply_dropout.md
[检查类型]:link-validity-check
[错误位置]:第 101 行
[错误信息]:本地路径链接无法访问
[错误内容]:../../torch_extension/norm_multiply_dropout_plugin.cpp
8 [文件路径]:ascendc/activation/norm_multiply_dropout/norm_multiply_dropout_forward/docs/torch_norm_multiply_dropout.md
[检查类型]:link-validity-check
[错误位置]:第 83 行
[错误信息]:本地路径链接无法访问
[错误内容]:../test/pytest/test_norm_multiply_dropout_forward.py
likedislike
ascend-robotascend-robotCollaborators
4 days ago Removed label: docs-ci-pipeline-running
ascend-robotascend-robotCollaborators
4 days ago Added label: docs-ci-pipeline-failed
AtlasAccountAtlasAccountCollaborators
4 days ago Removed label: ci-pipeline-running
AtlasAccountAtlasAccountCollaborators
4 days ago Added label: ci-pipeline-failed
AtlasAccount
AtlasAccountCollaborators
4 days ago Comments:
流水线 PR-pipeline_ops-rec#1127 [ commitID:63cbe5de ] 运行失败
>>>代码风格自动修复执行成功(无修复内容)
阶段 任务名 状态 详情
编译构建 PR-build-SAST-check ✅ COMPLETED >>>
Build-2.7.1_arm ❌ FAILED >>>
Build-2.10.0_arm ❌ FAILED >>>
Build-2.7.1_X86 ❌ FAILED >>>
Build-2.10.0_X86 ❌ FAILED >>>
恶意代码检查 Antipoison ✅ COMPLETED >>>
编码安全与规范检查 pre-commit ❌ FAILED >>>
clang-tidy ✅ COMPLETED >>>
开源片段检查 SCA ✅ COMPLETED >>>
开发者测试 presmoke ✅ COMPLETED >>>
流水线 PR-pipeline_ops-rec ❌ FAILED >>>
此流水线已支持下列评论快捷指令,仅PR创建者和白名单成员评论有效
  • compile : 运行流水线
  • retry : 重试流水线所有失败子任务
  • retry <任务名> : 仅重试指定失败子任务
  • stop : 停止流水线
likedislike