CANN 环境准备
CANN 镜像下载
优先下载 cann8.0 镜像:
CANN 镜像加载
docker load -i
paddle-npu_cann80RC1-ubuntu20-aarch64-gcc84-py39.tar
复制代码
registry.baidubce.com/device/paddle-npu cann80RC1-ubuntu20-aarch64-gcc84-py39
复制代码
CANN 镜像启动
启动 docker 镜像的命令如下,用户可根据实际环境修改:
sudo docker run -it --name paddle_test \
-v /home/:/home/ \
-v `pwd`:/workspace \
-w /workspace \
--privileged --network=host --shm-size=128G \
-v /ssd1/dataset:/workspace/dataset \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/dcmi:/usr/local/dcmi \
-e ASCEND_RT_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" \
registry.baidubce.com/device/paddle-npu:cann80RC1-ubuntu20-aarch64-gcc84-py39 /bin/bash
复制代码
Paddle 深度学习框架安装
PaddlePaddle 可选择源码编译或者直接下载日构建包安装,因为极少涉及到更改源码的情况,建议直接下载最新的日构建包。
# 下载链接
https://www.paddlepaddle.org.cn/packages/nightly/cpu/paddlepaddle/
# 安装命令
pip install xxxxx.whl
# 查看paddle的版本
python3 -c "import paddle; print(paddle.__version__)"
复制代码
PaddleCustomDeviece 安装
适配层代码同样可以通过源码编译或者下载日构建包安装,但因为需要经常修改代码,建议选择源码编译安装。
日构建包安装
# 下载链接
https://www.paddlepaddle.org.cn/packages/nightly/npu/paddle-custom-npu/
# 安装命令
pip install xxxxx.whl
复制代码
源码编译安装
# 下载PaddleCustomDevice源码
git clone https://github.com/PaddlePaddle/PaddleCustomDevice
# 进入硬件后端(昇腾NPU)目录
cd PaddleCustomDevice/backends/npu
# 执行编译脚本
bash tools/compile.sh
# 飞浆NPU插件在build/dist路径下,使用pip安装即可
pip install build/dist/paddle_custom_npu*.whl --force-reinstall
复制代码
更新 CANN 版本(可选)
CANN 包更新流程
当前 Docker 镜像中预装了 CANN8.0.RC1,如果需要安装其它版本的 CANN 包,可参考以下步骤在自定义路径下安装:
下载新 cann 包
下载目标版本的 cann 包,包括 toolkit 和 kernels。下载链接:https://www.hiascend.com/developer/download/community/result?module=cann&cann=8.0.0.alpha003
删除 info 文件
删除 ascend_cann_install.info 文件,否则无法指定安装目录。
rm -f /etc/Ascend/ascend_cann_install.info
复制代码
添加安装包执行权限
给 toolkit 和 kernel 软件包添加执行权限,若有权限则忽略。
chmod +x Ascend-cann-toolkit_xxx_linux-aarch64.run
chmod +x Ascend-cann-kernels_xxx_linux-aarch64.run
复制代码
设置安装目录权限
为即将安装 CANN 包的目录及其上层目录赋 755 权限,否则安装失败。
chmod 755 /home/paddle_test/Ascend/
复制代码
安装新 CANN 包
注意:"--install-path"参数为 CANN 包安装路径,必须填绝对路径;可使用默认路径:"/usr/local/Ascend/",也可以自定义安装路径,建议使用自定义路径。
# 先安装toolkit
./Ascend-cann-toolkit_8.0.RC3_linux-aarch64.run --full --install-path=/home/paddle_test/Ascend/
# 再安装kernel
./Ascend-cann-kernels-910b_8.0.RC3_linux-aarch64.run --install --install-path=/home/paddle_test/Ascend/
复制代码
设置环境变量
默认安装路径场景
如果更新的 CANN 包安装在默认路径,需要重新导入如下环境变量:
source /usr/local/Ascend/ascend-toolkit/set_env.sh
复制代码
自定义安装路径场景
如果更新的 CANN 包未安装在默认路径(本文中自定义安装路径为/home/paddle_test/Ascend
),则需要导入如下环境变量:
source 自定义安装路径/ascend-toolkit/set_env.sh
# 由于更新CANN包(安装在自定义目录),安装路径发生改变,PaddlePaddle在编译时需要用ASCEND_CUSTOM_PATH这个环境变量来识别CANN包的安装路径
export ASCEND_CUSTOM_PATH=自定义安装路径
复制代码
注意:
# 如果重新source不同版本CANN包请重新执行上一节中编译操作:
cd PaddleCustomDevice/backends/npu
bash tools/compile.sh
# 编译成功后重新安装:
pip install build/dist/paddle_custom_npu*.whl --force-reinstall
复制代码
常见问题
自定义安装路径失败
安装目录权限不足
更新 CANN 后 PaddlePaddle 编译失败一
更新 CANN 后 PaddlePaddle 编译失败二
ln -s /usr/local/Ascend/atb /真实路径/
ln -s /usr/local/Ascend/driver /真实路径/
复制代码
基础功能检查
可用硬件后端检查
python -c "import paddle; print(paddle.device.get_all_custom_device_type())"
复制代码
当前安装版本检查
python -c "import paddle_custom_device;paddle_custom_device.npu.version()"
复制代码
version: 0.0.0
commit: 9bfc65a7f11072699d0c5af160cf7597720531ea
cann: 8.0.RC1
复制代码
飞桨框架健康检查
python -c "import paddle; paddle.utils.run_check()"
复制代码
Running verify PaddlePaddle program ...
PaddlePaddle works well on 1 npu.
PaddlePaddle works well on 8 npus.
PaddlePaddle is installed successfully!
Let's start deep learning with PaddlePaddle now.
复制代码
评论