CANN/ascend-transformer-boost PagedAttentionOperation C++ Demo
加速库PagedAttentionOperation C Demo【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost介绍该目录下为加速库PagedAttentionOperation 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脚本仅用于编译和运行paged_attention_demo.cpp如需编译其他demo需要替换“paged_attention_demo”为对应的cpp文件名额外说明示例中生成的数据不代表实际场景如需数据生成参考请查看根目录下的python用例目录 tests/apitest/opstest/python/operations/paged_attention/产品支持情况本op在Atlas A2/A3系列和Atlas 推理系列产品上实现有所区别场景说明提供demo编译运行时需要对应更改build脚本不开启并行解码且带mask场景paged_attention_demo.cpp默认编译脚本可编译运行该demo仅支持在Atlas A2/A3系列上运行。参数设置成员名称取值headNum32qkScale1 / sqrt(HEAD_SIZE)kvHeadNum32batchRunStatus0quantTypeTYPE_QUANT_UNQUANThasQuantOffsetfalsecalcTypeCALC_TYPE_UNDEFINEDcompressTypeCOMPRESS_TYPE_UNDEFINEDmaskTypeMASK_TYPE_NORMmlaVHeadSize0数据规格tensor名字数据类型数据格式维度信息cpu/npuqueryfloat16nd[2, 32, 128]npukeyCachefloat16nd[16, 128, 32, 128]npuvalueCachefloat16nd[16, 128, 32, 128]npublockTablesint32nd[2, 8]npucontextLensint32nd[2]cpumaskint32nd[2, 1, 1024]npuattnOutfloat16nd[2, 32, 128]npupaged_attention_qwen_demo.cpp该demo仅支持在Atlas A2/A3系列上运行。参数设置成员名称取值headNum5qkScale1 / sqrt(HEAD_SIZE)kvHeadNum1batchRunStatus0quantTypeTYPE_QUANT_UNDEFINEDhasQuantOffsetfalsecalcTypeCALC_TYPE_UNDEFINEDcompressTypeCOMPRESS_TYPE_UNDEFINEDmaskTypeUNDEFINEDmlaVHeadSize0数据规格tensor名字数据类型数据格式维度信息cpu/npuquerybf16nd[1, 5, 128]npuqkScalebf16nd[9, 128, 1, 128]npuvalueCachebf16nd[9, 128, 1, 128]npublockTablesint32nd[1, 8]npucontextLensint32nd[1]cpuattnOutbf16nd[1, 5, 128]npu不带maskpaged_attention_inference_demo.cpp该demo仅支持在Atlas推理系列产品上运行。参数设置成员名称取值headNum32qkScale1 / sqrt(HEAD_SIZE)kvHeadNum32batchRunStatus0quantTypeTYPE_QUANT_UNQUANThasQuantOffsetfalsecalcTypeCALC_TYPE_UNDEFINEDcompressTypeCOMPRESS_TYPE_UNDEFINEDmaskTypeUNDEFINEDmlaVHeadSize0数据规格tensor名字数据类型数据格式维度信息cpu/npuquerybf16nd[2, 32, 128]npuqkScalebf16nd[16, 1024, 128, 16]npuvalueCachebf16nd[16, 1024, 128, 16]npublockTablesint32nd[2, 8]npucontextLensint32nd[2]cpuattnOutbf16nd[2, 32, 128]npu【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考