已合并
BNInfer,InplaceApplyRMSProp以及ApplyCamePart1算子检视意见闭环 #9453
tianyu52创建于 12 天前
BNInfer,InplaceApplyRMSProp以及ApplyCamePart1算子检视意见闭环 #9453
已合并
tianyu52创建于 12 天前
tianyu52成员
12 天前

描述

BNInfer,InplaceApplyRMSProp以及ApplyCamePart1算子检视意见闭环

关联的Issue

测试

BNInfer:泛化测试1000条均PASS
InplaceApplyRMSProp:泛化测试1000条均PASS
ApplyCamePart1:泛化测试1000条均PASS

文档更新

类型标签

AI/Agent生成声明

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 tianyu52 的贡献)
Ttianyu52成员
12 天前 创建了 pull request,commit 7fb373a1
Ttianyu52成员
12 天前 关联了issue:[Bug-Report|缺陷反馈]: BNInferGrad kernel 与 GEIR Golden 计算逻辑不一致
atomgit-bot
atomgit-bot
12 天前 评论:

变更摘要

本 PR 针对 BNInferInplaceApplyRMSPropApplyCamePart1 三个算子的检视意见进行闭环整改,涉及算子原型文档、tiling/内核实现、公共代码抽取及测试用例调整。BNInfer 扩展了输入格式支持范围并对 last-channel tiling 增加 UB 容量校验;ApplyCamePart1 支持带 batch 维度的 grad 输入并删除独立的 InferDataType 实现;InplaceApplyRMSProp 将同步机制从 PipeBarrier 改为事件同步,并将 use_locking 属性改为可选。此外两个优化算子的测试基准从 cross_check 调整为 stat_rel_err

主要改动

  • BNInfer 算子文档与格式支持扩展: 在 bn_infer_proto.h 中更新注释,输入 x 支持 NC1HWC0NULLNDNCHWNCDHWNHWCNDHWC 等多种格式,输出 yx 格式一致,epsilon 由可选改为必选属性;同时新增 nchw-like 与 ndhwc-like 的 infer shape 单测。

  • BNInfer last-channel tiling 增加 UB 容量校验: 在 bn_infer_tiling_infer_last_channel_arch35.cppFillLastChannelTilingForBSplit 中新增 requiredUbBytesubSize 的容量判断,超出可用 UB 时返回 GRAPH_FAILED,并补充了 rejectLastChannelWhenChannelCacheExceedsUb 测试用例。

  • ApplyCamePart1 支持 batch 维度与标量 eps: 更新 apply_came_part1_proto.h 中 grad(rank ≥ 2,形如 [batch..., n, m])与三个输出的形状描述;删除 apply_came_part1_infershape_datatype.cpp 中独立的 InferDataType 实现,并新增 SupportsHigherRankBatchGradSupportsScalarEps 单测。

  • ApplyCamePart1 抽取公共数据拷贝函数: 在 apply_came_part1_common.h 中新增 CopyOutReductionWorkspaceApplyCamePart1,将 fp16 与 fp32 两个内核中重复的事件同步及 workspace 数据拷贝逻辑收敛到该公共函数。

  • InplaceApplyRMSProp 同步机制与属性调整: 在 inplace_apply_rms_prop.hLoadScalarF32 中用 MTE2_VV_S 事件同步替代 PipeBarrier,并用常量 kFp16CastAlignment 表达 fp16 转换对齐;tiling 单测中 use_locking 属性改为可选,新增缺省该属性时 tiling 仍成功的用例;golden.py 中该算子及 ApplyCamePart1 的测试容差标准均从 cross_check 改为 stat_rel_err

likedislike
不准确?
atomgit-bot
atomgit-bot
12 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
12 天前 添加了label:cann-cla/yes
此处折叠了53条消息 查看更多
CANN-robot
CANN-robot成员
11 天前 评论:

Pull Request 已合并或已关闭。

If you want to solve this problem, you can click here to do it in the FAQs.

likedislike
Ttianyu52成员
8 天前 删除了关联的issue:[Bug-Report|缺陷反馈]: BNInferGrad kernel 与 GEIR Golden 计算逻辑不一致
CANN-robotCANN-robot成员
8 天前 删除了label:ci-pipeline-passed
CANN-robot
CANN-robot成员
8 天前 评论:

The following label is not ready.

ci-pipeline-passed: The ci-pipeline-passed label is expired as added over 72 hours. Please use /compile to recompile.

likedislike
Ttianyu52成员
8 天前 关联了issue:[Requirement|需求建议]: BNInfer,InplaceApplyRMSProp以及ApplyCamePart1算子检视意见闭环