CANN/ascend-transformer-boost ATB加速库对外头文件和库文件说明

📅 2026/7/12 19:26:53
CANN/ascend-transformer-boost ATB加速库对外头文件和库文件说明
ATB加速库对外头文件和库文件说明【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost接口分类ATBAscendTransformerBoost加速库对外提供 C 和 C 两种接口风格覆盖推理与训练场景。接口按功能分为以下几类接口类别命名约定描述基础类型与工具atb::命名空间无特殊前缀包含基本数据结构TensorDesc、Dims、VariantPack、错误码Status、工具函数Utils、容器SVector等上下文管理atb::Context/CreateContext/DestroyContext运行时上下文管理包括 Stream 设置、Tiling 属性、启动模式单算子/图模式等算子定义与执行atb::Operation/CreateOperation/DestroyOperation算子抽象基类提供Setup预计算 workspace 大小、Execute执行算子等生命周期接口图构建atb::GraphOpBuilder/CreateGraphOpBuilder将多个算子组合成计算图支持 Reshape、AddOperation、Build 等图构建操作推理算子参数atb::infer::*Param推理算子参数结构体如LinearParam、SelfAttentionParam、RmsNormParam等训练算子参数atb::train::*Param训练算子参数结构体如FastSoftMaxParam、LaserAttentionParam、RopeGradParam等通信域接口atb::Comm::前缀HCCL 通信域管理包括通信域创建/销毁等C 风格算子接口Atb前缀两阶段调用针对特定异构算子的 C 接口如AtbMLA、AtbFusedAddTopkDiv、AtbRingMLA等通用算子参数atb::common::*Param通用算子参数如 Event 同步EventParam、条件分支IfCondParam插件扩展基类atb::OperationInfra面向自定义/插件算子的基础设施类继承自atb::Operation调用接口依赖的头文件和库文件说明安装 ATB 加速库后编译、运行应用程序时需要引用 ATB 接口的头文件和库文件。头文件位于${ATB_HOME_PATH}/include/atb/目录下库文件位于${ATB_HOME_PATH}/lib/目录下。其中${ATB_HOME_PATH}为 ATB 加速库安装路径通常通过source 安装目录/atb/set_env.sh设置。以 root 用户安装为例安装后文件存储路径为头文件/usr/local/Ascend/atb/cxx_abi_1/include/atb/或/usr/local/Ascend/atb/cxx_abi_0/include/atb/库文件/usr/local/Ascend/atb/cxx_abi_1/lib/或/usr/local/Ascend/atb/cxx_abi_0/lib/说明cxx_abi取值取决于编译环境的 C ABI 版本。若环境中的 PyTorch 使用 CXX11 ABI 编译则使用cxx_abi_1否则使用cxx_abi_0。可通过source atb/set_env.sh --cxx_abi1或--cxx_abi0指定。须知编译 ATB 接口程序时请按照 include 的头文件依赖对应的库文件。若仅使用推理功能只需链接libatb.so若使用训练算子需额外链接libatb_train.so。引用多余的 so 文件可能导致版本功能异常或后续版本升级时存在兼容性问题。用户需要根据实际使用的 ATB 接口来 include 依赖的头文件。推荐直接 includeatb/atb_infer.h作为总入口头文件该文件已包含所有对外头文件的引用。各头文件用途及对应的库文件如下表所示定义接口的头文件用途对应的库文件atb/atb_infer.h总入口头文件包含所有对外头文件的引用libatb.soatb/types.h基本数据结构定义包括Status错误码、Dims维度描述、TensorDesc张量描述符、Tensor张量数据、VariantPack输入输出张量包等libatb.soatb/svector.h栈上 Vector 容器SVectorT定义libatb.soatb/context.hContext接口类用于设置算子执行上下文如执行 Stream、Tiling 属性、启动模式等以及CreateContext/DestroyContext工厂函数libatb.soatb/operation.hOperation算子抽象基类提供算子生命周期接口Setup/Execute、形状推导InferShape以及CreateOperation/DestroyOperation等工厂函数libatb.soatb/operation_infra.hOperationInfra插件算子基础设施类继承自Operationlibatb.soatb/infer_op_params.h推理算子参数定义包含LinearParam、SelfAttentionParam、RmsNormParam、ActivationParam、ElewiseParam、KvCacheParam、SoftmaxParam、LayerNormParam等libatb.soatb/train_op_params.h训练算子参数定义包含FastSoftMaxParam/FastSoftMaxGradParam、LaserAttentionParam/LaserAttentionGradParam、StridedBatchMatmulParam、RopeGradParam等libatb_train.soatb/common_op_params.h通用算子参数定义包括EventParamStream 同步事件和IfCondParam运行时条件分支libatb.soatb/graph_op_builder.hGraphOpBuilder图构建器接口支持将多个算子组合为计算图libatb.soatb/utils.hUtils工具类提供版本查询GetAtbVersion、张量大小/元素数计算、量化参数转换、日志级别设置等静态方法libatb.soatb/atb_acl.hC 风格 ACLNN 算子接口针对特定异构算子如AtbMLA、AtbFusedAddTopkDiv、AtbRingMLA、AtbPagedCacheLoad等的两阶段调用函数libatb.soatb/comm.h通信域接口提供 HCCL 通信域管理函数CreateHcclComm、CreateHcclCommByRankTableFile、DestoryHcclComm等libatb.so【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库基于华为Ascend AI处理器提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考