# ascend-transformer-boost **Repository Path**: ascend/ascend-transformer-boost ## Basic Information - **Project Name**: ascend-transformer-boost - **Description**: Transformer算子加速库蓝区代码仓 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 206 - **Created**: 2023-05-20 - **Last Updated**: 2025-06-28 ## Categories & Tags **Categories**: ai **Tags**: None ## README # Ascend Transformer Boost ## 介绍 Ascend Transformer Boost加速库(下文简称为ATB加速库)是一款高效、可靠的加速库,基于华为Ascend AI处理器,专门为Transformer模型的训练和推理而设计。 ATB加速库采用了一系列优化策略,包括算法优化、硬件优化和软件优化,能够显著提升Transformer模型的训练和推理速度,同时降低能耗和成本。具体来说,ATB加速库通过优化矩阵乘法等核心算子和注意力机制的实现方式,实现了对Transformer模型的高效加速。此外,ATB加速库还充分利用了Ascend AI处理器的硬件特性,如算力、存储带宽和内存带宽,通过硬件加速和数据重用等技术,进一步提升了性能和效率。ATB加速库目前提供了底层基础的高性能算子以及高效的算子组合技术(Graph图算子),同时上层支持对接多种模型框架如PyTorch、MindSpore、Paddle。 总而言之,ATB加速库中包含了各类Transformer类模型的高度优化模块,在各种应用场景中发挥重要作用,为模型的训练和推理提供了强有力的支持。 ## 软件架构 加速库接口功能主要分成三部分: - 提供基础原生的算子(Operation),用户可以根据需求使用对应的算子完成计算功能。 - 提供图算子机制,用户根据模型设计对应的图算子,使用加速库提供的原生算子和创建的自定义算子创建图算子,完成相应的计算。 - 提供插件(Plugin)机制,用户可以根据自己的需求创建自定义的算子。 ## 环境构建 - [安装CANN环境](https://www.hiascend.com/document/detail/zh/canncommercial/80RC22/softwareinst/instg/instg_0001.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit) - 设置cann环境变量 ```sh source [cann安装路径](默认为/usr/local/Ascend/ascend-toolkit)/set_env.sh ``` ## 使用教程 - 加速库编译
编译加速库,设置加速库环境变量: ```sh > cd ascend-transformer-boost > bash scripts/build.sh > source output/atb/set_env.sh ``` - run包使用
- 软件包名为:Ascend-cann-atb_{version}_linux-{arch}.run
其中,{version}表示软件版本号,{arch}表示CPU架构。 - 安装run包(需要依赖cann环境) ```sh chmod +x 软件包名.run # 增加对软件包的可执行权限 ./软件包名.run --check # 校验软件包安装文件的一致性和完整性 ./软件包名.run --install # 安装软件,可使用--help查询相关安装选项 ``` 出现提示`xxx install success!`则安装成功 ## 使用说明 - 加速库算子单元测试 - c++ ```sh bash scripts/build.sh unittest ``` - python ```sh bash scripts/build.sh pythontest ``` - csv ```sh bash scripts/build.sh csvopstest ``` ## 参与贡献 1. 新建 br_personal/[employee_id]/[branch_name] 分支 2. 提交代码 3. 新建 merge Request ## 参考文档 **[CANN商用版文档](https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/quickstart/quickstart/quickstart_18_0001.html)** **[ATB商用版文档](https://www.hiascend.com/document/detail/zh/canncommercial/80RC2/developmentguide/acce/ascendtb/ascendtb_0001.html)**