CANN/ascend-transformer-boost RmsNorm C++示例
加速库RmsNormOperation C Demo【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost介绍该目录下为加速库RmsNormOperation C调用示例。使用说明首先source 对应的CANN和nnal包的安装路径source [cann安装路径]/set_env.sh 默认source /usr/local/Ascend/ascend-toolkit/set_env.shsource [nnal安装路径]/set_env.sh默认source /usr/local/Ascend/nnal/atb/set_env.sh①. 如果使用加速库源码编译source [加速库源码路径]/output/atb/set_env.sh例如 source ./ascend-transformer-boost/output/atb/set_env.sh运行demobash build.sh注意使用cxx_abi0默认时设置D_GLIBCXX_USE_CXX11_ABI为0即g -D_GLIBCXX_USE_CXX11_ABI0 -I ...使用cxx_abi1时更改D_GLIBCXX_USE_CXX11_ABI为1即g -D_GLIBCXX_USE_CXX11_ABI1 -I ...提供的build脚本仅用于编译和运行rms_norm_demo.cpp如需编译其他demo需要替换“rms_norm_demo”为对应的cpp文件名额外说明示例中生成的数据不代表实际场景如需数据生成参考请查看根目录下的python用例目录 tests/apitest/opstest/python/operations/rms_norm/场景说明提供demo分别对应编译运行时需要对应更改build脚本rms_norm_demo.cpp【注】默认编译脚本可编译运行参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-5输入TensorNameDataTypeDataFormatShapexfloat16nd[4, 1024, 5120]gammafloat16nd[5120]输出TensorNameDataTypeDataFormatShapeoutputfloat16nd[4, 1024, 5120]rms_norm_qwen_demo_0.cpp【注】编译脚本内替换 rms_norm_demo.cpp 为 rms_norm_qwen_demo_0.cpp 可编译运行 该示例仅适用于Atlas A2/A3训练系列产品、Atlas 800I A2推理产品、Atlas A3 推理系列产品。参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-6输入TensorNameDataTypeDataFormatShapexbf16nd[1024, 5120]gammabf16nd[5120]输出TensorNameDataTypeDataFormatShapeoutputbf16nd[1024, 5120]rms_norm_qwen_demo_1.cpp【注】编译脚本内替换 rms_norm_demo.cpp 为 rms_norm_qwen_demo_1.cpp 可编译运行 该示例仅适用于Atlas A2/A3训练系列产品、Atlas 800I A2推理产品、Atlas A3 推理系列产品。参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-6输入TensorNameDataTypeDataFormatShapexbf16nd[1, 5120]gammabf16nd[5120]输出TensorNameDataTypeDataFormatShapeoutputbf16nd[1, 5120]rms_norm_qwen_demo_2.cpp【注】编译脚本内替换 rms_norm_demo.cpp 为 rms_norm_qwen_demo_2.cpp 可编译运行 该示例仅适用于Atlas A2/A3训练系列产品、Atlas 800I A2推理产品、Atlas A3 推理系列产品。参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-6输入TensorNameDataTypeDataFormatShapexbf16nd[5, 5120]gammabf16nd[5120]输出TensorNameDataTypeDataFormatShapeoutputbf16nd[5, 5120]rms_norm_deepseek_demo_0.cpp【注】编译脚本内替换 rms_norm_demo.cpp 为 rms_norm_deepseek_demo_0.cpp 可编译运行 该示例仅适用于Atlas A2/A3训练系列产品、Atlas 800I A2推理产品、Atlas A3 推理系列产品。参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-6输入TensorNameDataTypeDataFormatShapexfloat16nd[512, 7168]gammafloat16nd[7168]输出TensorNameDataTypeDataFormatShapeoutputfloat16nd[512, 7168]rms_norm_deepseek_demo_1.cpp【注】编译脚本内替换 rms_norm_demo.cpp 为 rms_norm_deepseek_demo_1.cpp 可编译运行 该示例仅适用于Atlas A2/A3训练系列产品、Atlas 800I A2推理产品、Atlas A3 推理系列产品。参数设置ParamvaluelayerTypeatb::infer::RmsNormParam::RmsNormType::RMS_NORM_NORMnormParam.quantTypeatb::infer::QuantType::QUANT_UNQUANTepsilon1e-6输入TensorNameDataTypeDataFormatShapexfloat16nd[32, 7168]gammafloat16nd[7168]输出TensorNameDataTypeDataFormatShapeoutputfloat16nd[32, 7168]【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考