当前位置: 首页 > news >正文

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

ATB加速库对外头文件和库文件说明

【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库,基于华为Ascend AI处理器,提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost

接口分类

ATB(AscendTransformerBoost)加速库对外提供 C++ 和 C 两种接口风格,覆盖推理与训练场景。接口按功能分为以下几类:

接口类别命名约定描述
基础类型与工具atb::命名空间,无特殊前缀包含基本数据结构(TensorDescDimsVariantPack)、错误码(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推理算子参数结构体,如LinearParamSelfAttentionParamRmsNormParam
训练算子参数atb::train::*Param训练算子参数结构体,如FastSoftMaxParamLaserAttentionParamRopeGradParam
通信域接口atb::Comm::前缀HCCL 通信域管理,包括通信域创建/销毁等
C 风格算子接口Atb前缀,两阶段调用针对特定异构算子的 C 接口,如AtbMLAAtbFusedAddTopkDivAtbRingMLA
通用算子参数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_abi=1--cxx_abi=0指定。须知:编译 ATB 接口程序时,请按照 include 的头文件依赖对应的库文件。若仅使用推理功能,只需链接libatb.so;若使用训练算子,需额外链接libatb_train.so。引用多余的 so 文件可能导致版本功能异常或后续版本升级时存在兼容性问题。

用户需要根据实际使用的 ATB 接口来 include 依赖的头文件。推荐直接 includeatb/atb_infer.h作为总入口头文件,该文件已包含所有对外头文件的引用。各头文件用途及对应的库文件如下表所示:

定义接口的头文件用途对应的库文件
atb/atb_infer.h总入口头文件,包含所有对外头文件的引用libatb.so
atb/types.h基本数据结构定义,包括Status(错误码)、Dims(维度描述)、TensorDesc(张量描述符)、Tensor(张量数据)、VariantPack(输入输出张量包)等libatb.so
atb/svector.h栈上 Vector 容器SVector<T>定义libatb.so
atb/context.hContext接口类,用于设置算子执行上下文,如执行 Stream、Tiling 属性、启动模式等;以及CreateContext/DestroyContext工厂函数libatb.so
atb/operation.hOperation算子抽象基类,提供算子生命周期接口(Setup/Execute)、形状推导(InferShape)以及CreateOperation/DestroyOperation等工厂函数libatb.so
atb/operation_infra.hOperationInfra插件算子基础设施类,继承自Operationlibatb.so
atb/infer_op_params.h推理算子参数定义,包含LinearParamSelfAttentionParamRmsNormParamActivationParamElewiseParamKvCacheParamSoftmaxParamLayerNormParamlibatb.so
atb/train_op_params.h训练算子参数定义,包含FastSoftMaxParam/FastSoftMaxGradParamLaserAttentionParam/LaserAttentionGradParamStridedBatchMatmulParamRopeGradParamlibatb_train.so
atb/common_op_params.h通用算子参数定义,包括EventParam(Stream 同步事件)和IfCondParam(运行时条件分支)libatb.so
atb/graph_op_builder.hGraphOpBuilder图构建器接口,支持将多个算子组合为计算图libatb.so
atb/utils.hUtils工具类,提供版本查询(GetAtbVersion)、张量大小/元素数计算、量化参数转换、日志级别设置等静态方法libatb.so
atb/atb_acl.hC 风格 ACLNN 算子接口,针对特定异构算子(如AtbMLAAtbFusedAddTopkDivAtbRingMLAAtbPagedCacheLoad等)的两阶段调用函数libatb.so
atb/comm.h通信域接口,提供 HCCL 通信域管理函数:CreateHcclCommCreateHcclCommByRankTableFileDestoryHcclCommlibatb.so

【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库,基于华为Ascend AI处理器,提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1175870/

相关文章:

  • Qt 6.7 MSVC 编译器配置:3步修复 ‘Cannot run compiler cl‘ 环境变量问题
  • 2026年GEO源头厂商选型避坑指南:杭州爱搜索实战评测与护城河解析 - 品牌报告
  • Saucer多后端支持深度测评:Windows WebView2 vs Linux WebKitGtk vs macOS WKWebView
  • 2025年【江苏“信息与未来”编程思维】真题及题解(T4:成语接龙)
  • KeeAnywhere快速入门:5分钟完成KeePass云同步插件安装与配置
  • Django REST Framework API Key性能优化:提升密钥验证速度的实用方法
  • 钢铁厂0.002mm精度测量:3项技术突破生产瓶颈
  • 海口钻石上门回收全解析,高价值钻戒居家变现避坑实测 - 每日生活报
  • 广州中检认证收钻铺 TOP5 红榜,2026 实测杜绝无证书随意折价 - 每日生活报
  • 零基础入门GeoNet:从环境搭建到数据准备的完整指南
  • 西安高校授权教学点有哪些:认准正规合作 - 最新政策解读
  • MaterialValues布局资源:结构、间距和边距的标准化实现
  • 厦门百达翡丽回收价格查询和靠谱平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • Neural Scene Flow Fields源代码深度剖析:从光流估计到神经辐射场构建
  • 鸿蒙智能体开发实战:41.智能体上架审核规范与合规指南
  • PyTorch框架 隧道结构健康监测、基础设施自动化巡检、AI辅助土木工程评估 UNET模型如何训练隧道裂缝分割数据集
  • 7 月靠谱收钻商户实测排行,到店上门同步当日钻石流通市价 - 每日生活报
  • Nokhwa多平台后端支持:Linux、Windows和macOS实现详解
  • 4D-RGPT-8B未来发展方向:从研究到工业应用的完整路线图
  • 【Midjourney材质质感终极指南】:20年AI视觉工程师亲授17种金属/织物/玻璃质感提示词配方与参数调优逻辑
  • 教师必备!AI时代教案编写神器大盘点 - 品牌测评鉴赏家
  • 西安正规函授站名单怎么查:看资质不看来头 - 最新政策解读
  • 2026 年新发布:临泽知名的无机纤维棉喷涂施工实力厂家格局重塑与选型新思路,别再浪费钱!揭秘无机纤维棉喷涂的省钱秘诀 - 品质体验官
  • Demo 跑通只是开始:为什么权限与日志才是 Agent 上线的生死线?
  • 海口奢侈品包包回收避坑攻略!2026爱马仕、香奈儿、LV闲置包保值变现技巧 - 每日生活报
  • Go flag 包详解:从命令行解析到实战应用
  • 为什么92%的团队测错了ChatGPT文案?——从提示词扰动、温度系数耦合到用户意图分层的深度拆解
  • 开发者深度指南:自定义llama-nemotron-embed-vl-1b-v2-fp8的嵌入向量维度与池化策略
  • CS336讲座2pytorch笔记
  • Spring Boot3.x + MQTT + InfluxDB 物联网设备接入平台搭建