创建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 Plugin和Volcano):参考动态虚拟化,运行任务时自动按照配置要求调用接口创建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。
- Atlas 推理系列产品
- 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的配置恢复状态。
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信息。