导入镜像
前面部分已经讲了如何导入tar
镜像文件,在这一步将获取的Docker镜像
放入Atlas500小站
的挂载存储盘中
首先,==点此下载==多功能环境部署镜像
镜像内载环境
如下
package_name=Ascend-cann-toolkit
version=5.1.RC1
innerversion=V100R001C81SPC002B220
arch=aarch64
os=linux
path=/usr/local/Ascend/ascend-toolkit/5.1.RC1/aarch64-linux
Python 3.7.5
pip 22.1.2 from /usr/local/python3.7.5/lib/python3.7/site-packages/pip (python 3.7)
cmake version 3.5.2
gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
我们使用命令导入(input需要根据自己路径进行修改)
docker load --input=/onnx2om01.tar
得到返回值
cf1e6f9bc415: Loading layer [==================================================>] 58.92MB/58.92MB
6a356e1e3ab7: Loading layer [==================================================>] 3.787GB/3.787GB
Loaded image ID: sha256:8fcf5e04f5255138f963170719bc1171473ba547776050fb82f8908c81074bf9
使用命令查看已经导入的镜像
docker images
可以看到一个<none>
标记的镜像,镜像ID为8fcf5e04f525
ascend temp 858a59dada17 9 days ago 6.94GB
<none> <none> 8fcf5e04f525 2 months ago 3.81GB
为了方便后面使用,给这个新导入的镜像打上Tag
,这个命令没有返回值
docker tag 8fcf5e04f525 ascend:all
启动docker镜像
==命令解析==
可以有多个-V
但后面要加\
docker run --device=挂载设备 \
-v 主机环境:容器环境映射 \
-v 主机环境:容器环境映射 \
-it 运行的容器Tag
docker run --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/hisi_hdc --device /dev/devmm_svm \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64 \
-v /run/board_cfg.ini:/run/board_cfg.ini \
-v /tmp:/home/lyna \
-it ascend:all
镜像启动后,可以看到
docker run --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/hisi_hdc --device /dev/devmm_svm \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64 \
-v /run/board_cfg.ini:/run/board_cfg.ini \
-v /tmp:/home/lyna \
-it ascend:all
root@70bf528a574d:/#
进入容器环境后,输入以下命令
echo "/home/data/miniD/driver/lib64" >> /etc/ld.so.conf.d/libc.conf && ldconfig
cd /usr/local/Ascend/ascend-toolkit/latest/arm64-linux && cat ascend_toolkit_install.info
反馈如下
package_name=Ascend-cann-toolkit
version=5.1.RC1
innerversion=V100R001C81SPC002B220
arch=aarch64
os=linux
path=/usr/local/Ascend/ascend-toolkit/5.1.RC1/aarch64-linux
Hello Atlas
我们进入Docker环境后,先问候一下设备,查看设备工作是否正常
npu-smi info
反馈如下
+--------------------------------------------------------------------------------------------+
| npu-smi 21.0.4 Version: 21.0.4 |
+-------------------+-----------------+------------------------------------------------------+
| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) |
| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) |
+===================+=================+======================================================+
| 2 310 | OK | 12.8 47 0 / 970 |
| 0 0 | 0000:1D:00.0 | 0 619 / 7765 |
+-------------------+-----------------+------------------------------------------------------+
| 2 310 | OK | 12.8 47 0 / 970 |
| 1 1 | 0000:1E:00.0 | 0 612 / 7765 |
+-------------------+-----------------+------------------------------------------------------+
| 2 310 | OK | 12.8 48 0 / 970 |
| 2 2 | 0000:1F:00.0 | 0 611 / 7765 |
+-------------------+-----------------+------------------------------------------------------+
| 2 310 | OK | 12.8 49 0 / 970 |
| 3 3 | 0000:20:00.0 | 0 609 / 7765 |
+===================+=================+======================================================+
如果使用非小站镜像
docker run
需要按照如下命令配置
docker run -it -u root --ipc=host --net=host \
-e ASCEND_VISIBLE_DEVICES=0 \
--device=/dev/davinci0 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver/:/usr/local/Ascend/driver \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64 \
-v /run/board_cfg.ini:/run/board_cfg.ini \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog:/var/log/npu/slog \
-v /var/log/npu/profiling:/var/log/npu/profiling \
-v /var/log/npu/dump:/var/log/npu/dump \
-v /var/log/npu:/usr/slog 你的镜像ID/TAG \
-v 待映射目录:映射到容器内的目录 \
/bin/bash
那么进入容器后
需要进行以下配置
echo "export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/data/miniD/driver/lib64/">>/usr/local/Ascend/ascend-toolkit/set_env.sh
cd /usr/local/Ascend/ascend-toolkit && source set_env.sh && cd -
echo "/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/devlib">>/etc/ld.so.conf.d/libc.conf && ldconfig
echo "/usr/local/Ascend/ascend-toolkit/latest/lib64">>/etc/ld.so.conf.d/libc.conf && ldconfig