快速入门
前提条件
-
安装依赖
以下所列仅为本开源仓源码编译用到的依赖,其中python、gcc、cmake的安装方法请参见配套版本的用户手册,选择安装场景后,参见“安装CANN > 安装依赖”章节进行相关依赖的安装。
-
python >= 3.9.0
-
gcc >= 7.3.0
-
cmake >= 3.16.0
-
patch
Ubuntu系统执行以下命令安装:
sudo apt install patchEulerOS操作系统执行以下命令安装:
sudo yum install patch -
lcov >= 1.16(可选,仅执行UT时依赖)
下载lcov源码后,执行以下命令安装:
tar -xf lcov-1.16.tar.gz cd lcov-1.16 make install # root用户安装 # sudo make install # 非root用户安装 -
pytest >= 8.0.0(可选,仅执行UT时依赖)
执行以下命令安装:
pip3 install pytest -
coverage >= 4.5.4(可选,仅执行UT时依赖)
执行以下命令安装:
pip3 install coverage -
googletest(可选,仅执行UT时依赖,建议版本release-1.14.0)
下载googletest源码后,执行以下命令安装:
tar -xf googletest-1.14.0.tar.gz cd googletest-1.14.0 mkdir temp && cd temp # 在googletest源码根目录下创建临时目录并进入 cmake .. -DCMAKE_CXX_FLAGS="-fPIC -D_GLIBCXX_USE_CXX11_ABI=0" make make install # root用户安装googletest # sudo make install # 非root用户安装googletest
-
-
安装驱动与固件(运行态依赖)
运行算子时必须安装驱动与固件,若仅编译算子,可跳过本操作,安装指导详见《CANN 软件安装指南》。
环境准备
本项目支持由源码编译,进行源码编译前,请根据如下步骤完成相关环境准备。
-
安装社区尝鲜版CANN toolkit包
根据实际环境,下载对应
Ascend-cann-toolkit_${cann_version}_linux-${arch}.run包,下载链接为toolkit x86_64包、toolkit aarch64包。# 确保安装包具有可执行权限 chmod +x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --full --force --install-path=${install_path}- ${cann_version}:表示CANN包版本号。
- ${arch}:表示CPU架构,如aarch64、x86_64。
- ${install_path}:表示指定安装路径。
- 缺省--install-path时, 则使用默认路径安装。 若使用root用户安装,安装完成后相关软件存储在“/usr/local/Ascend/cann”路径下;若使用非root用户安装,安装完成后相关软件存储在“$HOME/Ascend/cann”路径下。
-
安装社区版CANN ops包(运行态依赖)
运行算子前必须安装本包,若仅编译算子,可跳过本操作。
根据产品型号和环境架构,下载对应
Ascend-cann-${soc_name}-ops_9.0.0_linux-${arch}.run包,下载链接如下:- Atlas A2 训练系列产品/Atlas A2 推理系列产品:ops x86_64包、ops aarch64包。
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:ops x86_64包、ops aarch64包。
# 确保安装包具有可执行权限 chmod +x Ascend-cann-${soc_name}-ops_9.0.0_linux-${arch}.run # 安装命令 ./Ascend-cann-${soc_name}-ops_9.0.0_linux-${arch}.run --install --install-path=${install_path}- ${soc_name}:表示NPU型号名称。
- ${install_path}:表示指定安装路径,需要与toolkit包安装在相同路径,root用户默认安装在
/usr/local/Ascend目录,非root用户默认安装在$HOME/Ascend目录。
-
配置环境变量
-
默认路径,root用户安装
source /usr/local/Ascend/cann/set_env.sh -
默认路径,非root用户安装
source $HOME/Ascend/cann/set_env.sh -
指定路径安装
source ${install_path}/cann/set_env.sh
-
下载源码
开发者可通过如下命令下载本仓源码:
# 下载项目源码,以master分支为例 git clone https://gitcode.com/cann/asc-devkit.git
编译安装
-
编译
本开源仓提供一键式编译安装能力,进入本开源仓代码根目录,执行如下命令:
bash build.sh --pkg编译完成后会在
build_out目录下生成cann-asc-devkit_<cann_version>_linux-<arch>.run软件包。 -
安装
在开源仓根目录下执行下列命令,将编译生成的run包安装到默认路径(/usr/local/Ascend);或安装到指定的CANN包的装包路径(${install_path}),同时会覆盖原CANN包中的Ascend C内容。
# 切换到run包生成路径下 cd build_out # 默认路径安装run包 ./cann-asc-devkit_<cann_version>_linux-<arch>.run --full # 指定路径安装run包 ./cann-asc-devkit_<cann_version>_linux-<arch>.run --full --install-path=${install_path}
UT验证
在开源仓根目录执行下列命令,将按各模块依次批跑tests目录下的用例,得到结果日志,用于看护编译是否正常。
bash build.sh --adv_test # 批跑tests目录下adv_api里的用例
bash build.sh --basic_test_one # 批跑tests目录下basic_api part-one里的用例
bash build.sh --basic_test_two # 批跑tests目录下basic_api part-two里的用例
bash build.sh --basic_test_three # 批跑tests目录下basic_api part-three里的用例