CANN/atvoss RmsNorm算子样例
RmsNorm算子样例【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss概述样例概述本样例介绍了利用ATVOSS实现RmsNorm单算子并完成功能验证算子功能RmsNorm算子是大模型常用的归一化操作相比LayerNorm算子其去掉了减去均值的部分调用方式Kernel直调样例支持的产品Ascend 950PR/Ascend 950DT算子描述算子数学计算公式 $$ \operatorname{RmsNorm}(x_i)\frac{x_i}{\operatorname{Rms}(\mathbf{x})} g_i, \quad \text { where } \operatorname{Rms}(\mathbf{x})\sqrt{\frac{1}{n} \sum_{i1}^n x_i^2} $$算子规格参数名输入/输出/属性描述数据类型数据格式in1输入表示进行归一化计算的输入。公式中的x。floatNDin2输入表示进行归一化计算的缩放因子权重公式中的g。floatNDout输出表示进行归一化后的最终输出公式中的RmsNorm(x)。floatND规格说明当前只支持二维输入总的输入Shape(M, N)要满足M 8160N 7168N需要32元素对齐Tile块的Shape(m, n)要满足n Nm * n 7168目前只支持float类型目录结构文件名描述rms_norm.cppRmsNorm样例算子代码实现CMakeLists.txtRmsNorm样例算子的编译构建文件README.mdRmsNorm样例算子的说明文档RmsNorm样例算子的编译和运行编译 在代码仓根目录下执行bash scripts/build.sh -DSOCascend950 rms_norm运行 在代码仓目录下执行output/bin/rms_norm --help // 查看帮助 output/bin/rms_norm --shape16,32 // 运行样例【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考