算力紧张?昇腾虚拟化实例AVI实现最大化分配卡资源

00 前言

在与伙伴/客户交流合作过程中,经常遇到一张算力卡资源同时分配给多个使用方进行模型任务的需求,毕竟如今AI算力还比较稀缺和昂贵。那么本片内容则为大家介绍一个针对这个痛点的创新技术——昇腾虚拟化实例AVI(Ascend Virtual Instance)。

01 功能介绍

昇腾虚拟化实例功能是指通过资源虚拟化的方式将物理机配置的NPU(昇腾AI产品)切分成若干份vNPU(虚拟NPU)挂载到容器中使用,虚拟化管理方式能够实现统一不同规格资源的分配和回收处理,满足多用户反复申请/释放的资源操作请求。

昇腾虚拟化实例功能的优点是可实现多个用户按需申请共同使用一台服务器,降低了用户使用NPU算力的门槛和成本。多个用户共同使用一台服务器的NPU,并借助容器进行资源隔离,资源隔离性好,保证运行环境的平稳和安全,且资源分配,资源回收过程统一,方便多租户管理。

昇腾虚拟化实例功能适用于多用户多任务并行,且每个任务算力需求较小的场景。

02 原理介绍

昇腾NPU硬件资源主要包括AICore(用于AI模型的计算)、AICPU、内存等,昇腾虚拟化实例功能主要原理是将上述硬件资源根据用户指定的资源需求划分出vNPU,每个vNPU对应若干AICore、AICPU、内存资源。比如用户只需要使用4个AICore的算力,那么系统就会创建一个vNPU,通过vNPU向NPU芯片获取4个AICore提供给容器使用,整体昇腾虚拟化实例方案如下图所示。

03 应用方案

在昇腾解决方案中,昇腾虚拟化实例功能当前支持以下应用方案:

  • 原生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组件为可选。

04 使用指导

创建vNPU

  • 如果采用静态虚拟化方式使用vNPU,在使用原生Docker、MindX DL挂载vNPU前,需要通过npu-smi工具使用虚拟化实例命令按照用户的使用需求创建vNPU。
  • Ascend Docker Runtime使用vNPU,既可以先通过npu-smi工具创建vNPU,再将vNPU挂载到容器中;也可以在拉起容器时,直接通过ASCEND_VISIBLE_DEVICES和ASCEND_VNPU_SPECS参数从物理芯片上虚拟化出多个vNPU并挂载至容器。两种方式的具体使用方法及区别请参见使用方法
使用方法
  • 设置虚拟化模式。命令格式:npu-smi set -t vnpu-mode -d mode

    类型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值