systemctl daemon-reload systemctl restart docker
docker images
如果用户安装Driver包时使用--install-username=username --install-usergroup=usergroup参数指定了其他非root用户,则需要使用同样的方法记录此非root用户的gid,容器内创建非root用户时,需要使用该gid,确保宿主机和容器内相关进程的非root用户同属组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | docker run -it \ --ipc=host \ --device=/dev/davinci0:ro \ --device=/dev/davinci_manager:ro \ --device=/dev/devmm_svm:ro \ --device=/dev/hisi_hdc:ro \ -v /usr/local/dcmi:/usr/local/dcmi:ro \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro \ -v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common:ro \ -v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver:ro \ -v /etc/ascend_install.info:/etc/ascend_install.info:ro \ -v /etc/vnpu.cfg:/etc/vnpu.cfg:ro \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro \ docker_image_id /bin/bash |
各个产品型号需要挂载的目录如下:
ls /dev/ | grep davinci*
命令执行情况参见图2,其中davinci_manager为管理模块的字符设备节点,davinci0为该容器使用的davinci设备。
groupadd -g gid HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && echo ok
export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:${LD_LIBRARY_PATH}
其中“/usr/local/Ascend”为默认安装路径,请根据实际情况修改。通过export方式设置环境变量,只在当前窗口有效,设置完成后立即生效。
docker cp /home/HwHiAiUser/Ascend-cann-nnrt_<version>_linux-<arch>.run container_id:/home/HwHiAiUser/software
所有路径请根据实际情况进行修改:
docker start container_id docker attach container_id
在容器部署过程中,用户无需在容器内安装驱动,只需根据不同产品类型将如下目录挂载至容器内,并在容器内安装CANN软件,完成容器部署。
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,可以只读挂载一个或者多个设备。 需要挂载的设备如下:
|
-v /usr/local/dcmi:/usr/local/dcmi:ro |
将宿主机dcmi的.so和接口文件目录“/usr/local/dcmi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/bin/hccn_tool:/usr/bin/hccn_tool |
将宿主机hccn_tool工具“/usr/bin/hccn_tool”挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common:ro |
将宿主机目录“/usr/local/Ascend/driver/lib64/common”和“/usr/local/Ascend/driver/lib64/driver”以只读模式挂载到容器中。请根据driver的驱动.so所在路径修改。 |
-v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver:ro |
|
-v /etc/ascend_install.info:/etc/ascend_install.info:ro |
将宿主机安装信息文件“/etc/ascend_install.info”以只读模式挂载到容器中。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”以只读模式挂载到容器中,请根据实际情况修改。 |
--ipc=host |
可能存在容器中共享内存不足的情况,启动容器时需要添加该参数以配置和host宿主机共享内存。 |
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,可以只读挂载一个或者多个设备。 需要挂载的设备如下:
|
-v /usr/local/dcmi:/usr/local/dcmi:ro |
将宿主机dcmi的.so和接口文件目录“/usr/local/dcmi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common:ro |
将宿主机目录“/usr/local/Ascend/driver/lib64/common”和“/usr/local/Ascend/driver/lib64/driver”以只读模式挂载到容器中。请根据驱动所在实际路径修改。 |
-v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver:ro |
|
-v /etc/ascend_install.info:/etc/ascend_install.info:ro |
将宿主机安装信息文件“/etc/ascend_install.info”以只读模式挂载到容器中。 |
-v /etc/vnpu.cfg:/etc/vnpu.cfg:ro |
将宿主机算力切分持久化配置文件“/etc/vnpu.cfg”以只读模式挂载到容器中。且仅在物理机特权容器的算力切分场景下使用。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”以只读模式挂载到容器中,请根据实际情况修改。 |
--ipc=host |
可能存在容器中共享内存不足的情况,启动容器时需要添加该参数以配置和host宿主机共享内存。 |
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,可以只读挂载一个或者多个设备。 需要挂载的设备如下:
|
-v /usr/local/dcmi:/usr/local/dcmi:ro |
将宿主机dcmi的.so和接口文件目录“/usr/local/dcmi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common:ro |
将宿主机目录“/usr/local/Ascend/driver/lib64/common”和“/usr/local/Ascend/driver/lib64/driver”以只读模式挂载到容器中。请根据驱动所在实际路径修改。 |
-v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver:ro |
|
-v /etc/ascend_install.info:/etc/ascend_install.info:ro |
将宿主机安装信息文件“/etc/ascend_install.info”以只读模式挂载到容器中。 |
-v /etc/vnpu.cfg:/etc/vnpu.cfg:ro |
将宿主机算力切分持久化配置文件“/etc/vnpu.cfg”以只读模式挂载到容器中。且仅在物理机特权容器的算力切分场景下使用。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”以只读模式挂载到容器中,请根据实际情况修改。 |
--ipc=host |
可能存在容器中共享内存不足的情况,启动容器时需要添加该参数以配置和host宿主机共享内存。 |
--pids-limit 409600 |
当host宿主机系统为CentOS和BC-linux时,docker内的线程数最大为4092,无法满足训练要求,启动容器时需要添加该参数以配置CentOS/BC-linux下docker的最大线程。 |
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,可以只读挂载一个或者多个设备。 需要挂载的设备如下:
|
-v /usr/local/dcmi:/usr/local/dcmi:ro |
将宿主机dcmi的.so和接口文件目录“/usr/local/dcmi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64:ro |
将宿主机目录“/usr/local/Ascend/driver/lib64/ ”以只读模式挂载到容器,请根据驱动所在实际路径修改。 |
-v /etc/ascend_install.info:/etc/ascend_install.info:ro |
将宿主机安装信息文件“/etc/ascend_install.info”以只读模式挂载到容器中。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”以只读模式挂载到容器中,请根据实际情况修改。 |
--ipc=host |
可能存在容器中共享内存不足的情况,启动容器时需要添加该参数以配置和host宿主机共享内存。 |
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,可以只读挂载一个或者多个设备。 需要挂载的设备如下:
|
-v /usr/local/dcmi:/usr/local/dcmi:ro |
将宿主机dcmi的.so和接口文件目录“/usr/local/dcmi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”以只读模式挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64:ro |
将宿主机目录“/usr/local/Ascend/driver/lib64/ ”以只读模式挂载到容器,请根据驱动所在实际路径修改。 |
-v /etc/ascend_install.info:/etc/ascend_install.info:ro |
将宿主机安装信息文件“/etc/ascend_install.info”以只读模式挂载到容器中。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info:ro |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”以只读模式挂载到容器中,请根据实际情况修改。 |
--ipc=host |
可能存在容器中共享内存不足的情况,启动容器时需要添加该参数以配置和host宿主机共享内存。 |
宿主机目录不挂载至容器的方式以及容器内软件包卸载等可参考表6。
产品型号 |
操作指导 |
---|---|
A300-3000 |
《Atlas 300I 推理卡 24.1.RC2 NPU驱动和固件安装指南(型号 3000)》的“容器内安装”章节 |
A300-3010 |
《Atlas 300I 推理卡 24.1.RC2 NPU驱动和固件安装指南(型号 3010)》的“容器内安装”章节 |
Atlas 200I A2(EP场景) |
《Atlas 200I A2 加速模块 24.1.RC2 NPU驱动和固件安装指南(EP场景)》的“容器内安装”章节 |
Atlas 300I Pro Atlas 300V Pro Atlas 300V Atlas 300I Duo |
《Atlas 中心推理卡 24.1.RC2 NPU驱动和固件安装指南》的“容器内安装”章节 |
A800-9000 A800-9010 |
《Atlas 中心训练服务器 24.1.RC2 NPU驱动和固件安装指南》的“容器内安装”章节 |
A300T-9000 Atlas 300T Pro |
《Atlas 中心训练卡 24.1.RC2 NPU驱动和固件安装指南》的“容器内安装”章节。 |
Atlas 900 A2 PoD Atlas 900 A2 PoDc Atlas 800I A2 Atlas 800T A2 Atlas 200T A2 Box16 |
《Atlas A2 中心推理和训练硬件 24.1.RC2 NPU驱动和固件安装指南》中的“容器内安装 ”章节 |
Atlas 200I SoC A1 |
《Atlas 200I SoC A1核心板 24.1.RC2 NPU驱动和固件安装指南》的“容器内运行”章节 |