原生Docker挂载vNPU
原生Docker场景主要为使用npu-smi工具创建vNPU后,将vNPU挂载到容器。
使用前提
按照规划参见创建vNPU完成对vNPU的创建。
使用方法
用户通过npu-smi工具创建vNPU后,在拉起容器时执行以下命令将vNPU挂载至容器中。以下命令表示用户在拉起容器时,挂载虚拟芯片ID为100的芯片。
docker run -it \ --device=/dev/vdavinci100:/dev/davinci100 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /home:/home \ -v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common \ -v /usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ docker_image_id /bin/bash
参数 |
参数说明 |
---|---|
--device |
表示映射的设备,vdavinci100是申请的虚拟设备,需要根据实际设备名称修改。其他保持不变。注意映射到容器中需要重命名为davinci100,对应的id保持不变,仅将vdavinci修改为davinci。其它的保持不变。 |
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi |
将宿主机npu-smi工具“/usr/local/bin/npu-smi”挂载到容器中,请根据实际情况修改。 |
-v /usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/common |
将宿主机目录“/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 |
|
-v /etc/ascend_install.info:/etc/ascend_install.info |
将宿主机安装信息文件“/etc/ascend_install.info”挂载到容器中。 |
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info |
将宿主机版本信息文件“/usr/local/Ascend/driver/version.info”挂载到容器中,请根据实际情况修改。 |
docker_image_id |
容器镜像ID,请替换为实际容器镜像ID。 |
执行之后即可启动容器,并将创建的虚拟设备映射到容器中。
容器启动之后,执行以下命令查看当前Docker容器中可以使用的davinci设备,如果有davinci设备则表示虚拟设备成功映射到容器中。
ls /dev/ | grep davinci*