应用场景及方案
适配的硬件型号
支持虚拟化实例功能的昇腾硬件设备如表1所示。
应用场景
昇腾虚拟化实例功能适用于多用户多任务并行,且每个任务算力需求较小的场景。
虚拟化场景
昇腾虚拟化实例功能在物理机或虚拟机使用时,支持以下虚拟化场景,如表2所示。本文主要介绍在昇腾设备划分vNPU支持的场景和方法,如果涉及虚拟机相关的配置,需要结合另一本文档《虚拟机配置指南》一起使用。
昇腾虚拟化实例功能支持场景 |
支持昇腾硬件 |
操作流程 |
---|---|---|
在物理机划分vNPU,挂载vNPU到虚拟机 |
推理设备:
训练设备:
|
|
在物理机划分vNPU,挂载vNPU到容器 |
所有推理设备(配置昇腾310P AI处理器)、所有训练设备(配置Ascend 910 处理器) |
|
在物理机划分vNPU,挂载vNPU到虚拟机,在虚拟机内将vNPU挂载到容器 |
推理设备(配置昇腾310P AI处理器)
|
|
在物理机直通NPU到虚拟机,在虚拟机内划分vNPU,再将vNPU挂载到虚拟机内的容器 |
推理设备(配置昇腾310P AI处理器)
|
vNPU挂载到容器方案
将vNPU挂载到容器有以下方案:
- 原生Docker:结合原生Docker使用。通过npu-smi工具创建多个vNPU,通过Docker拉起运行容器时将vNPU挂载到容器。
- Ascend Docker Runtime:结合Ascend Docker Runtime(容器引擎插件)使用。通过npu-smi工具创建多个vNPU,通过Ascend Docker拉起运行容器时将vNPU挂载到容器。
- 集群调度组件:结合MindX DL中的集群调度组件Ascend Device Plugin、Volcano使用,支持静态虚拟化。静态虚拟化方式下,通过npu-smi工具提前创建多个vNPU,当用户需要使用vNPU资源时,基于Ascend Device Plugin组件的设备发现、设备分配、设备健康状态上报功能,分配vNPU资源提供给上层用户使用,此方案下,集群调度组件的Volcano组件为可选。