
# NPU静态虚拟化概述
NPU静态虚拟化是将物理机中配置的NPU（昇腾AI产品）切分为多个虚拟NPU（vNPU），并挂载至容器中使用，以实现对硬件资源的灵活切分与动态管理。NPU算力切分具有以下优势：
- 资源高效利用：单台服务器的NPU可被划分为多个vNPU，供不同用户按需申请，降低算力使用成本。
- 资源强隔离：基于容器化技术，确保不同用户的vNPU资源完全隔离，避免计算干扰或数据泄露。
- 统一管理：不同规格资源的分配和回收处理过程统一，方便多租户管理。
#### NPU静态虚拟化基本原理
昇腾NPU硬件中包含AICore、AICPU和内存等核心计算资源。通过算力切分技术，系统可以根据用户需求将这些物理资源灵活划分为多个vNPU，每个vNPU包含特定数量的AICore、AICPU和内存等资源。例如，一个容器申请4个AICore资源，另一个容器申请2个AICore，则系统将创建2个vNPU实例供容器使用，具体流程请参见[图1]。
图1vNPU案例   
![](https://support.huaweicloud.com/usermanual-cce/zh-cn_image_0000002344148192.png "点击放大")
 #### 适用的NPU芯片类型
目前，仅昇腾Snt3P3的算力切分特性经过CCE验证，其他芯片类型是否支持算力切分请参见[虚拟化特性说明](https://www.hiascend.com/document/detail/zh/mindcluster/71RC1/clustersched/dlug/cpaug_0010.html)。
关于对应芯片的硬件资源数据，请登录对应节点，通过**npu-smi info -t info-vnpu -i \<id\> -c \<chip_id\>**命令查询。id和chip_id获取方式如下：
- **id** ：表示设备ID，通过**npu-smi info -l**命令查出的NPU ID即为设备id。
- **chip_id：** 表示芯片ID，通过**npu-smi info -m**命令查出的Chip ID即为芯片id。
 
 #### NPU虚拟化模板
进行NPU算力切分时，仅支持通过官方提供的虚拟化模板指定vNPU的资源规格。关于昇腾Snt3P3的适用的模板信息，请参见[表1]。
 表1NPU虚拟化模板 
| 芯片类型     | 虚拟化实例模板        | AI Core核数 | 内存  | AI CPU | VPC | VDEC | JPEGD | VENC | JPEGE |
|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|
| 昇腾Snt3P3 | vir04          | 4         | 12G | 4      | 6   | 6    | 8     | 2    | 4     |
| 昇腾Snt3P3 | vir04_3c       | 4         | 12G | 3      | 6   | 6    | 8     | 1    | 4     |
| 昇腾Snt3P3 | vir02          | 2         | 6G  | 2      | 3   | 3    | 4     | 1    | 2     |
| 昇腾Snt3P3 | vir02_1c       | 2         | 6G  | 1      | 3   | 3    | 4     | 0    | 2     |
| 昇腾Snt3P3 | vir01          | 1         | 3G  | 1      | 1   | 1    | 2     | 0    | 1     |
| 昇腾Snt3P3 | vir04_3c_ndvpp | 4         | 12G | 3      | 0   | 0    | 0     | 0    | 0     |
| 昇腾Snt3P3 | vir04_4c_dvpp  | 4         | 12G | 4      | 12  | 12   | 16    | 3    | 8     |
   
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
NPU静态虚拟化功能支持虚拟化实例的灵活组合，即在同一张NPU芯片上，可以使用不同的虚拟化模板划分多种vNPU，各vNPU占用的资源总量不得超过该NPU卡的硬件上限。官方已给出推荐的组合模板，您可以根据需求进行灵活组合，具体请参见[虚拟化实例组合](https://www.hiascend.com/document/detail/zh/computepoweralloca/300/cpaug/cpaug/cpaug_00006.html)。
#### NPU算力切分方式
CCE提供以下NPU方式，您可以根据业务场景进行选择：
- [自动实现NPU静态虚拟化](https://support.huaweicloud.com/usermanual-cce/cce_10_1010.html)：实现节点池粒度的NPU静态虚拟化，可以通过UI界面批量切分vNPU。该方式仅支持固定的虚拟化模板组合，适用于大规模场景下的统一资源管理。
- [手动实现NPU静态虚拟化](https://support.huaweicloud.com/usermanual-cce/cce_10_0994.html)：实现节点粒度的NPU静态虚拟化，可以手动控制每张NPU卡的资源分配，具备更高的灵活性，但配置过程相对复杂，适合对资源使用有精细化需求的场景。
 
