文档
注册

Ascend Docker挂载vNPU

Ascend Docker Runtime场景主要通过结合Ascend Docker Runtime(容器引擎插件)使用,将vNPU挂载到容器。

使用前提

需要先获取“Ascend-docker-runtime_{version}_linux-{arch}.run”,并安装容器引擎插件,方法可参见安装Ascend Docker Runtime

使用方法

  • 用户通过npu-smi工具创建vNPU后,在拉起容器时执行以下命令将vNPU挂载至容器中。以下命令表示用户在拉起容器时,挂载虚拟芯片ID为100的芯片。
    docker run -it -e ASCEND_VISIBLE_DEVICES=100 -e ASCEND_RUNTIME_OPTIONS=VIRTUAL image-name:tag /bin/bash
  • 用户在拉起容器时,执行以下命令切分算力资源,以下命令表示从物理芯片ID为0的芯片上,切分出4个AI Core作为vNPU并挂载至容器。以此方式拉起的容器,在结束容器进程时,虚拟设备会自动销毁。
    docker run -it --rm -e ASCEND_VISIBLE_DEVICES=0 -e ASCEND_VNPU_SPECS=vir04 image-name:tag /bin/bash
  • 可用的芯片ID可通过如下方式查询确认:
    • 物理芯片ID:
      ls /dev/davinci*
    • 虚拟芯片ID:
      ls /dev/vdavinci*
  • image-name:tag:镜像名称与标签,请根据实际情况修改。如“ascend-tensorflow:tensorflow_TAG”。
  • 用户在使用过程中,请勿重复定义和在容器镜像中固定ASCEND_VISIBLE_DEVICES、ASCEND_RUNTIME_OPTIONS和ASCEND_VNPU_SPECS环境变量。
表1 参数解释

参数

说明

举例

ASCEND_VISIBLE_DEVICES

使用ASCEND_VISIBLE_DEVICES环境变量指定被挂载至容器的NPU设备,使用设备序号指定设备,支持单个和范围指定且支持混用。

ASCEND_VISIBLE_DEVICES=100表示将id为100的vNPU挂载到容器

ASCEND_RUNTIME_OPTIONS

对参数ASCEND_VISIBLE_DEVICES中指定的芯片ID作出限制:

  • NODRV:表示不挂载驱动相关目录。
  • VIRTUAL:表示挂载的是虚拟芯片。
  • NODRV,VIRTUAL:表示挂载的是虚拟芯片,并且不挂载驱动相关目录。
  • ASCEND_RUNTIME_OPTIONS=NODRV
  • ASCEND_RUNTIME_OPTIONS=VIRTUAL
  • ASCEND_RUNTIME_OPTIONS=NODRV,VIRTUAL

ASCEND_VNPU_SPECS

从物理NPU设备中划分出一定数量的AI Core,指定为虚拟设备。支持的取值为(vir01,vir02,vir02_1c,vir04,vir04_3c,vir08,vir16、vir04_4c_dvpp、vir04_3c_ndvpp)。

  • Ascend 310P系列处理器支持vir01、vir02、vir02_1c、vir04、vir04_3c、vir04_4c_dvpp、vir04_3c_ndvpp。
  • Ascend 910系列处理器支持vir02、vir04、vir08和vir16。

需配合参数“ASCEND_VISIBLE_DEVICES”一起使用,参数“ASCEND_VISIBLE_DEVICES”指定用于虚拟化的物理NPU设备。

ASCEND_VNPU_SPECS=vir04表示划分4个AI Core作为vNPU,挂载至容器。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词