已关闭
[Requirement|需求建议]: 新增带跨步的layernorm算子LayernormStride #1709
slj创建于 3月25日关闭于 5月22日
3月25日 将 slj02 设为负责人
3月25日 关联了pull request:add fused operator LayernormStride
chenqi317
3月26日 评论:
3月26日 评论:
你好 你的pr 和当前nn 仓编译框架差距较大。
欢迎上nn sig 例会上审核
会议链接:https://meeting.osinfra.cn/cann/
会议议题申请:https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-nn
sig例会时间:
会议主题:Ops-nn SIG 群组 双周例会
会议详情:Ops-nn SIG 群组 双周例会
发起人:chenqi317
会议时间:2026-03-27 每2周星期五 14:15 到 15:45 (UTC+08:00)Beijing 有效期从2025/12/19 至 2026/04/30
会议平台: WeLink
会议ID: 989248999
会议链接:https://meeting.huaweicloud.com:36443/#/j/989248999


chenqi317
3月28日 评论:
3月28日 评论:
您好 该issue 已接纳。
当前nn仓还不支持<<<>>>调用,后续和 @lileizheng 对接跟进工程合入情况!


lileizheng
4月20日 评论:
4月20日 评论:
您好,当前nn仓<<<>>>编译工程已经上库,可以参考<<<>>>贡献指南,贡献您的算子。


4月20日 移除了负责人 lileizheng
4月21日 关联了pull request:test layernorm_stride compile
5月22日 issue状态由 技术评审中 改变为 已解决
5月22日 关闭了 issue
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
使用AscendC实现MLA中跨步计算layernorm。输入是shape为[Batch, Seqlen, Stride]的张量,Stride为跨步大小,Stride = kv_lora_rank + qk_rope_head_dim。该算子对Stride的前kv_lora_rank维进行归一化计算
Origin(信息来源)
外部贡献
Benefit / Necessity (价值/作用)
将需要多步实现的跨步layernorm计算融合为一个算子,优化效率
Design(设计方案)
Tilling 策略
将输入[Batch, Seqlen, stride] 直接对Batch*Seqlen做loop_count任务切分,因此每个核分到 Batch * Seqlen / block_num * stride 的数据
Kernel 侧设计
进行Init和Process两个阶段,其中Process包括数据搬入(CopyIn)、计算(Compute)、数据搬出(CopyOut)三个阶段,实现带跨步的layernorm。