昇腾社区首页
中文
注册

创建vNPU

  • 在物理机和虚拟机使用npu-smi工具创建vNPU的命令基本相同,所以本节命令可以适用于物理机和虚拟机,其中只有Atlas 推理系列产品支持在虚拟机创建vNPU。
  • 当使用静态虚拟化创建vNPU并挂载到容器时,需要使用npu-smi命令创建vNPU,再参考挂载vNPU
  • 当使用动态虚拟化时,无需提前创建vNPU,请跳过本节,直接在容器拉起时按以下要求进行参数配置。
    • 使用Ascend Docker Runtime:参考方式一:Ascend Docker Runtime挂载vNPU,通过ASCEND_VISIBLE_DEVICES和ASCEND_VNPU_SPECS参数从物理芯片上虚拟化出多个vNPU并挂载至容器。
    • 使用MindCluster集群调度组件Ascend Device PluginVolcano):参考动态虚拟化,运行任务时自动按照配置要求调用接口创建vNPU。

创建vNPU方法

  • 在物理机执行以下命令设置虚拟化模式(如果是在虚拟机内划分vNPU,不需要执行本命令),命令格式如下。

    npu-smi set -t vnpu-mode -d mode

    表1 参数说明

    类型

    描述

    mode

    虚拟化实例模式。取值为0或1:

    • 0:虚拟化实例容器模式
    • 1:虚拟化实例虚拟机模式
  • 创建vNPU。命令格式如下:

    npu-smi set -t create-vnpu -i id -c chip_id -f vnpu_config [-v vnpu_id] [-g vgroup_id]

    类型

    描述

    id

    设备id。通过npu-smi info -l命令查出的NPU ID即为设备id。

    chip_id

    芯片id。通过npu-smi info -m命令查出的Chip ID即为芯片id。

    vnpu_config

    虚拟化实例模板名称,可参见虚拟化规则章节中的“虚拟化模板”。

    vnpu_id

    指定需要创建的vNPU的id。

    • 首次创建可以不指定该参数,由系统默认分配。若重启后业务需要使用重启前的vnpu_id,可以使用-v参数指定重启前的vnpu_id进行恢复。
    • 取值范围。
      • Atlas 推理系列产品

        vnpu_id的取值范围为[phy_id*16 + 100, phy_id * 16+107]。

      • Atlas 训练系列产品

        vnpu_id的取值范围为[phy_id*16 + 100, phy_id * 16+115]。

      说明:

      phy_id表示芯片物理ID,可通过执行ls /dev/davinci*命令获取芯片的物理ID。例如/dev/davinci0,表示芯片的物理ID为0。

    • vnpu_id传入4294967295时表示不指定虚拟设备号。
    • 同一台服务器内不可重复创建相同vnpu_id的vNPU。

    vgroup_id

    虚拟资源组vGroup的id,取值范围0~3。vGroup的概念可以参见虚拟化规则章节中的“虚拟化模式”,仅Atlas 推理系列产品支持本参数。

    使用示例如下:
    • 在设备1中编号为0的芯片上根据模板vir02创建vNPU。
      npu-smi set -t create-vnpu -i 1 -c 0 -f vir02
              Status : OK         Message : Create vnpu success
    • 在设备1中编号为0的芯片上指定vnpu_id为103创建vNPU设备,此vNPU的模板为vir02。
      npu-smi set -t create-vnpu -i 1 -c 0 -f vir02 -v 103
              Status : OK         Message : Create vnpu success
    • 在设备1中编号为0的芯片上指定vnpu_id为100并指定vgroup_id为1创建vNPU设备,此vNPU的模板为vir02。
      npu-smi set -t create-vnpu -i 1 -c 0 -f vir02 -v 100 -g 1
              Status : OK         Message : Create vnpu success
  • 配置vNPU恢复状态。该参数用于设备重启时,设备能够保存vNPU配置信息,重启后,vNPU配置依然有效。

    npu-smi set -t vnpu-cfg-recover -d mode

    mode表示vNPU的配置恢复使能状态,“1”表示开启状态,“0”表示关闭状态,默认为使能状态。

    执行如下命令设置vNPU的配置恢复状态,以下命令表示将vNPU的配置恢复状态设置为使能状态。

    npu-smi set -t vnpu-cfg-recover -d 1

           Status : OK
           Message : The VNPU config recover mode Enable is set successfully.
  • 查询vNPU的配置恢复状态。

    以下命令表示查询当前环境中vNPU的配置恢复使能状态。

    npu-smi info -t vnpu-cfg-recover

    VNPU config recover mode : Enable
  • 查询vNPU信息。命令格式:

    npu-smi info -t info-vnpu -i id -c chip_id

    类型

    描述

    id

    设备id。通过npu-smi info -l命令查出的NPU ID即为设备id。

    chip_id

    芯片id。通过npu-smi info -m命令查出的Chip ID即为芯片id。

    执行如下命令查询vNPU信息。以下命令表示查询设备1中编号为0的芯片的vNPU信息。

    npu-smi info -t info-vnpu -i 1 -c 0

    Atlas 推理系列产品支持返回AICPU,Vgroup ID信息,Atlas 训练系列产品不支持返回AICPU,Vgroup ID信息。