三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

cann/ascend-transformer-boost编译与构建

cann/ascend-transformer-boost编译与构建

编译与构建

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

ATB编译

下载加速库源码

git clone https://gitcode.com/cann/ascend-transformer-boost.git

您可自行选择需要的分支。

编译

进入加速库的根目录,编译

cd ascend-transformer-boost bash scripts/build.sh

注意:该编译过程涉及①拉取算子库/MKI并编译以及②加速库的编译两个过程。更多命令介绍可查看atb仓主目录下的README.mdscripts/build.sh文件。

ATB编译相关说明

ATB的基本编译命令是bash build.sh,默认构建模式下生成版本信息,并创建安装包(默认情况下不会编译python接口)。后可跟参数,实现不同功能:

  • --use_cxx11_abi=1:启用C++11 ABI
  • --use_cxx11_abi=0:禁用C++11 ABI
  • --verbose:开启编译详细输出
  • --asan:启用内存错误检测,并强制设置为Debug模式
  • --skip_build:跳过构建过程
  • --debug:设置构建类型为Debug模式
  • --msdebug:启用MSDebug模式,用于对算子内核代码进行调测
  • --ascendc_dump:启用AscendC_Dump模式,用于对算子内核代码进行调测
  • --clean-first:构建前清理所有构建历史,删除构建目录
  • --src-only:仅构建源码
  • --torch_atb: 编译pybind11并生成whl包,随后pip安装即可使用python接口
  • --customizeops_tests: 构建ops_customize的单元测试
  • default: 默认选项,构建ATB加速库的内容
  • testframework:构建测试框架,生成版本信息,并打包测试框架
  • unittest:构建单元测试,运行内核接口测试和单元测试
  • kernelunittest:构建内核单元测试,运行内核单元测试
  • pythontest:构建 Python 测试,运行 Python 测试
  • kernelpythontest:构建内核 Python 测试,运行内核 Python 测试
  • torchatbtest:构建 Torch ATB 测试,运行 Torch ATB 测试
  • csvopstest:构建 CSV 操作测试,运行 CSV 操作测试
  • infratest:构建基础设施测试,运行基础设施测试
  • hitest:构建 HiTest,设置 HiTest 环境变量,生成版本信息,打包测试框架和 HiTest
  • fuzztest:构建模糊测试,生成模糊测试用例运行模糊测试
  • alltest:构建所有测试,运行所有测试
  • clean:清理所有构建历史,删除构建目录
  • gendoc:生成文档
  • customizeops:构建ops_customize的内容,生成版本信息,并创建安装包

ATB关键文件介绍

  1. scripts目录:
    • install.sh: 安装脚本
    • uninstall.sh: 卸载脚本
    • build.sh: 编译脚本
    • release.sh:全自动构建与打包脚本
  2. include/atb目录:
    • set_env.sh:ATB的环境变量设置文件
  3. output目录:
    • version.info:版本信息
    • {arch}/Ascend-cann-atb_{version}_linux-{arch}.run:编译出的atb包
  4. output/atb/cxx_abi_0/lib目录(或output/atb/cxx_abi_1/lib,与abi版本有关):
    • libatb.so:Transformer加速库的动态链接库文件
    • libasdops.so:算子包的动态链接库文件
  5. ops_configs目录:
    • atb_ops_info.ini:算子输入输出规格描述文件

配置文件

编译文件build.sh

文件名:scripts/build.sh
加速库编译文件,文件中可设置日志存放目录、日志文件、编译器版本等,一般无需更改。

环境变量设置文件set_env.sh

文件名​:scripts/set_env.sh
加速库安装完成后,提供进程级环境变量设置脚本set_env.sh,以自动完成环境变量设置,用户进程结束后自动失效。 若想查看相关变量含义说明,可访问环境变量参考-昇腾社区。

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

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

← 返回列表