
# CCE AI套件（Ascend NPU）
#### 插件介绍
CCE AI套件（Ascend NPU）是支持容器里使用NPU设备的管理插件。
安装本插件后，可创建"AI加速型"节点，实现快速高效地处理推理和图像识别等工作。
#### 字段说明
表1参数描述 
| 参数     | 是否必选 | 参数类型                                            | 描述             |
|:---|:---|:---|:---|
| basic  | 否    | object                                          | 插件基础配置参数，无需指定。 |
| flavor | 是    | [表3] object      | 插件规格参数         |
| custom | 是    | [表4] object | 插件自定义参数        |
   
表2basic 
| 参数              | 是否必选 | 参数类型   | 描述                                                  |
|:---|:---|:---|:---|
| cluster_version | 是    | String | CCE集群版本                                             |
| device_version  | 是    | String | 插件的版本                                               |
| driver_version  | 是    | String | 插件开启自动安装驱动时，插件里负责安装驱动的Pod的镜像tag，一般与device_version相同 |
| swr_addr        | 是    | String | 镜像仓库地址                                              |
| swr_user        | 是    | String | 镜像仓库租户路径                                            |
   
 表3flavor 
| 参数          | 是否必选 | 参数类型                                                | 描述                         |
|:---|:---|:---|:---|
| description | 否    | String                                              | 插件相关的描述信息                  |
| name        | 是    | String                                              | 插件规格名称，固定为：Single-instance |
| replicas    | 是    | String                                              | 实例数，默认为：1                  |
| resources   | 是    | [resources] object | 容器资源（CPU、内存）配额。            |
   
 表4custom 
| 参数                                | 是否必选 | 参数类型   | 描述                                                                                                               |
|:---|:---|:---|:---|
| auto_install_npu_driver           | 否    | Bool   | 默认值：false true：自动在节点上安装NPU驱动，当前只支持310、310P卡的部分规格  |
| check_frequency_failed_threshold  | 否    | Int    | 插件判断NPU设备状态不健康的阈值次数 默认值：100                                                          |
| check_frequency_fall_times        | 否    | Int    | 判断芯片主频降级是否隔离的门限 默认值：3                                                               |
| check_frequency_gate              | 否    | Bool   | true：开启芯片主频检查 默认值：false                                                            |
| check_frequency_recover_threshold | 否    | Int    | 插件判断NPU设备状态健康的阈值次数 默认值：100                                                       |
| check_frequency_rise_times        | 否    | Int    | 判断芯片主频降级是否恢复的门限 默认值：2                                                               |
| container_path                    | 否    | String | 容器里用于挂载Hiai library的路径 默认值："/usr/local/HiAI_unused"                                |
| host_path                         | 否    | String | 主机上包含Hiai library的路径 默认值："/usr/local/HiAI_unused"                                  |
| npu_driver_config                 | 否    | Map    | 如果自动在节点上安装NPU驱动，该参数key为机型，value为机型对应的NPU驱动的下载地址 默认值：{}                               |
   
 表5resources字段数据结构说明 
| 参数          | 是否必选 | 参数类型   | 描述                                                     |
|:---|:---|:---|:---|
| limitsCpu   | 是    | String | CPU大小限制，单位：m 默认为：1000m    |
| limitsMem   | 是    | String | 内存大小限制，单位：Mi 默认为：4096Mi |
| name        | 是    | String | 插件名称，固定为：npu-driver-installer                          |
| requestsCpu | 是    | String | 申请的CPU大小，单位：m 默认为：50m    |
| requestsMem | 是    | String | 申请的内存大小，单位：Mi 默认为：100Mi   |
   
#### 请求示例
```
{
  "kind": "Addon",
  "apiVersion": "v3",
  "metadata": {
    "name": "huawei-npu",
  },
  "spec": {
    "clusterID": "e93c2716-****-****-****-0255ac10004e",
    "version": "2.0.26",
    "addonTemplateName": "huawei-npu",
    "values": {
      "basic": {
        "cluster_version": "v1.23",
        "device_version": "2.0.26",
        "driver_version": "2.0.26",
        "platform": "linux-amd64",
        "rbac_enabled": true,
        "swr_addr": "***",
        "swr_user": "***"
      },
      "custom": {
        "annotations": {},
        "auto_install_npu_driver": true,
        "check_frequency_failed_threshold": 100,
        "check_frequency_fall_times": 3,
        "check_frequency_gate": false,
        "check_frequency_recover_threshold": 100,
        "check_frequency_rise_times": 2,
        "container_path": "/usr/local/HiAI_unused",
        "host_path": "/usr/local/HiAI_unused",
        "npu_driver_config": {}
      },
      "flavor": {
        "category": [
          "CCE",
          "Turbo"
        ],
        "name": "default",
        "resources": [
          {
            "limitsCpu": "1000m",
            "limitsMem": "4096Mi",
            "name": "npu-driver-installer",
            "requestsCpu": "50m",
            "requestsMem": "100Mi"
          }
        ]
      },
    }
  }
}
```
