更新时间:2024-12-06 GMT+08:00
分享

CCE AI套件(NVIDIA GPU)

插件简介

CCE AI套件(NVIDIA GPU)插件是支持在容器中使用GPU显卡的设备管理插件,集群中使用GPU节点时必须安装本插件。

约束与限制

  • 下载的驱动必须是后缀为“.run”的文件。
  • 仅支持Nvidia Tesla驱动,不支持GRID驱动。
  • 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。
  • 插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。
  • 对于GPU驱动版本与您业务应用的兼容性(GPU驱动版本与CUDA库版本的兼容性),CCE不做保证,请您自行验证。
  • 对于已经安装GPU驱动的自定义操作系统镜像,CCE无法保证其提供的GPU驱动与CCE其他GPU组件兼容(例如监控组件等)。
  • 如果您使用不在GPU驱动支持列表内的GPU驱动版本,可能引发GPU驱动与操作系统版本、ECS实例类型、Container Runtime等不兼容,继而导致驱动安装失败或者GPU插件异常。对于使用自定义GPU驱动的场景,请您自行验证。

安装插件

  1. 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到CCE AI套件(NVIDIA GPU)插件,单击“安装”
  2. 设置插件支持的“参数配置”

    表1 GPU插件参数配置

    参数

    参数说明

    集群默认驱动

    集群下全部GPU节点将使用相同的驱动,请选择合适的GPU驱动版本,或自定义驱动链接地址,填写Nvidia驱动的下载链接。
    须知:
    • 如果下载链接为公网地址,如nvidia官网地址(https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run),各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址
    • 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址
    • 请确保Nvidia驱动版本与GPU节点适配。配套关系请参见GPU驱动支持列表
    • 更改驱动版本后,需要重启节点才能生效。
    • 对于Linux 5.x内核系统:Huawei Cloud EulerOS 2.0建议使用470及以上版本驱动;Ubuntu 22.04建议使用515及以上版本驱动。

    插件安装完成后,GPU 虚拟化和节点池驱动配置请前往“配置中心 > 异构资源配置”页进行设置。

  3. 单击“安装”,安装插件的任务即可提交成功。

    卸载插件将会导致重新调度的GPU Pod无法正常运行,但已运行的GPU Pod不会受到影响。

验证插件

插件安装完成后,在GPU节点及调度了GPU资源的容器中执行nvidia-smi命令,验证GPU设备及驱动的可用性。

  • GPU节点:
    # 插件版本为2.0.0以下时,执行以下命令:
    cd /opt/cloud/cce/nvidia/bin && ./nvidia-smi
    
    # 插件版本为2.0.0及以上时,驱动安装路径更改,需执行以下命令:
    cd /usr/local/nvidia/bin && ./nvidia-smi
  • 容器:
    cd /usr/local/nvidia/bin && ./nvidia-smi

若能正常返回GPU信息,说明设备可用,插件安装成功。

GPU驱动支持列表

  • 当前GPU驱动支持列表仅针对1.2.28及以上版本的GPU插件。
  • 如果您需要安装最新版本的GPU驱动,请将您的GPU插件升级到最新版本。
表2 GPU驱动支持列表

GPU型号

支持集群类型

机型规格

操作系统

Huawei Cloud EulerOS 2.0(支持GPU虚拟化)

Ubuntu 22.04.4

Ubuntu 22.04.3

CentOS Linux release 7.6

EulerOS release 2.9

EulerOS release 2.5

Ubuntu 18.04(停止维护)

EulerOS release 2.3(停止维护)

Tesla T4

CCE Standard集群

g6

pi2

535.54.03

510.47.03

470.57.02

535.161.08

535.54.03

470.141.03

535.54.03

470.141.03

535.54.03

470.141.03

535.54.03

470.141.03

470.141.03

470.141.03

Volta V100

CCE Standard集群

p2s

p2vs

p2v

535.54.03

510.47.03

470.57.02

535.161.08

535.54.03

470.141.03

535.54.03

470.141.03

535.54.03

470.141.03

535.54.03

470.141.03

470.141.03

470.141.03

获取驱动链接-公网地址

  1. 登录CCE控制台。
  2. 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。

    图1 查看显卡型号

  1. 登录到https://www.nvidia.com/Download/Find.aspx?lang=cn网站。
  2. 图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit

    图2 参数选择

  3. 驱动信息确认完毕,单击“搜索”按钮,会跳转到驱动信息展示页面,该页面会显示驱动的版本信息如图3,单击“下载”到下载页面。

    图3 驱动信息

  4. 获取驱动软件链接方式分两种:

获取驱动链接-OBS地址

  1. 将驱动上传到对象存储服务OBS中,并将驱动文件设置为公共读,方法请参见上传文件

    节点重启时会重新下载驱动进行安装,请保证驱动的OBS桶链接长期有效。

  2. 在桶列表单击待操作的桶,进入“概览”页面。
  3. 在左侧导航栏,单击“对象”。
  4. 单击目标对象名称,在对象详情页复制驱动链接。

    图5 复制OBS链接

组件说明

表3 gpu插件组件

容器组件

说明

资源类型

nvidia-driver-installer

为节点安装Nvidia GPU驱动的工作负载,仅在安装场景占用资源,安装完成后无资源占用。

DaemonSet

nvidia-gpu-device-plugin

为容器提供Nvidia GPU异构算力的Kubernetes设备插件。

DaemonSet

nvidia-operator

为集群提供Nvidia GPU节点管理能力。

Deployment

GPU指标

表4 GPU基础监控指标

类型

指标

监控级别

说明

利用率指标

cce_gpu_utilization

GPU卡

GPU卡算力使用率

cce_gpu_memory_utilization

GPU卡

GPU卡显存使用率

cce_gpu_encoder_utilization

GPU卡

GPU卡编码使用率

cce_gpu_decoder_utilization

GPU卡

GPU卡解码使用率

cce_gpu_utilization_process

GPU进程

GPU各进程算力使用率

cce_gpu_memory_utilization_process

GPU进程

GPU各进程显存使用率

cce_gpu_encoder_utilization_process

GPU进程

GPU各进程编码使用率

cce_gpu_decoder_utilization_process

GPU进程

GPU各进程解码使用率

内存指标

cce_gpu_memory_used

GPU卡

GPU显存使用量

cce_gpu_memory_total

GPU卡

GPU显存总量

cce_gpu_memory_free

GPU卡

GPU显存空闲量

cce_gpu_bar1_memory_used

GPU卡

GPU bar1 内存使用量

cce_gpu_bar1_memory_total

GPU卡

GPU bar1 内存总量

频率

cce_gpu_clock

GPU卡

GPU时钟频率

cce_gpu_memory_clock

GPU卡

GPU显存频率

cce_gpu_graphics_clock

GPU卡

GPU图形处理器频率

cce_gpu_video_clock

GPU卡

GPU视频处理器频率

物理状态数据

cce_gpu_temperature

GPU卡

GPU温度

cce_gpu_power_usage

GPU卡

GPU功率

cce_gpu_total_energy_consumption

GPU卡

GPU总能耗

带宽数据

cce_gpu_pcie_link_bandwidth

GPU卡

GPU PCIE 带宽

cce_gpu_nvlink_bandwidth

GPU卡

GPU nvlink 带宽

cce_gpu_pcie_throughput_rx

GPU卡

GPU PCIE 接收带宽

cce_gpu_pcie_throughput_tx

GPU卡

GPU PCIE 发送带宽

cce_gpu_nvlink_utilization_counter_rx

GPU卡

GPU nvlink 接收带宽

cce_gpu_nvlink_utilization_counter_tx

GPU卡

GPU nvlink 发送带宽

隔离内存页面

cce_gpu_retired_pages_sbe

GPU卡

GPU单比特错误隔离页数量

cce_gpu_retired_pages_dbe

GPU卡

GPU双比特错误隔离页数量

表5 GPU虚拟化监控指标

指标

监控级别

说明

xgpu_memory_total

GPU进程

GPU虚拟化显存总量。

xgpu_memory_used

GPU进程

GPU虚拟化显存使用量。

xgpu_core_percentage_total

GPU进程

GPU虚拟化算力总量。

xgpu_core_percentage_used

GPU进程

GPU虚拟化算力使用量。

gpu_schedule_policy

GPU卡

GPU虚拟化分三种模式:

  • 0:显存隔离算力共享模式
  • 1:显存算力隔离模式
  • 2:默认模式,表示当前卡还没被用于GPU虚拟化设备分配。

xgpu_device_health

GPU卡

GPU虚拟化设备的健康情况。

  • 0:表示GPU虚拟化设备为健康状态。
  • 1:表示GPU虚拟化设备为非健康状态。

版本记录

表6 CCE AI套件(NVIDIA GPU)版本记录

插件版本

支持的集群版本

更新特性

2.7.19

v1.28

v1.29

v1.30

修复nvidia-container-toolkit CVE-2024-0132容器逃逸漏洞

2.7.13

v1.28

v1.29

v1.30

  • 支持节点池粒度配置XGPU
  • 支持GPU渲染场景
  • 支持v1.30集群

2.6.4

v1.28

v1.29

更新GPU卡逻辑隔离逻辑

2.6.1

v1.28

v1.29

升级GPU插件基础镜像

2.5.6

v1.28

修复安装驱动的问题

2.5.4

v1.28

支持v1.28集群

2.1.14

v1.21

v1.23

v1.25

v1.27

修复nvidia-container-toolkit CVE-2024-0132容器逃逸漏洞

2.1.8

v1.21

v1.23

v1.25

v1.27

修复部分问题

2.0.72

v1.21

v1.23

v1.25

v1.27

更新GPU卡逻辑隔离逻辑

2.0.69

v1.21

v1.23

v1.25

v1.27

升级GPU插件基础镜像

2.0.48

v1.21

v1.23

v1.25

v1.27

修复安装驱动的问题

2.0.46

v1.21

v1.23

v1.25

v1.27

  • 支持535版本Nvidia驱动
  • 支持非root用户使用XGPU
  • 优化启动逻辑

2.0.44

v1.21

v1.23

v1.25

v1.27

  • 支持535版本Nvidia驱动
  • 支持非root用户使用XGPU
  • 优化启动逻辑

2.0.18

v1.21

v1.23

v1.25

v1.27

支持HCE 2.0

2.0.17

v1.21

v1.23

v1.25

v1.27

RollingUpdate参数配置优化

2.0.14

v1.19

v1.21

v1.23

v1.25

v1.27

  • 支持xGPU设备监控
  • 支持nvidia.com/gpu与volcano.sh/gpu-* api兼容

2.0.5

v1.19

v1.21

v1.23

v1.25

-

2.0.0

v1.19

v1.21

v1.23

v1.25

  • 支持GPU虚拟化
  • 驱动安装目录更新至节点/usr/local/nvidia

1.2.28

v1.19

v1.21

v1.23

v1.25

  • 适配OS Ubuntu22.04
  • GPU驱动目录自动挂载优化

1.2.24

v1.19

v1.21

v1.23

v1.25

  • 节点池支持配置GPU驱动版本
  • 支持GPU指标采集

1.2.20

v1.19

v1.21

v1.23

v1.25

设置插件别名为gpu

1.2.17

v1.15

v1.17

v1.19

v1.21

v1.23

增加nvidia-driver-install pod limits 配置

1.2.15

v1.15

v1.17

v1.19

v1.21

v1.23

适配CCE v1.23集群

1.2.11

v1.15

v1.17

v1.19

v1.21

支持EulerOS 2.10系统

1.2.10

v1.15

v1.17

v1.19

v1.21

CentOS系统支持新版本GPU驱动

1.2.9

v1.15

v1.17

v1.19

v1.21

适配CCE v1.21集群

1.2.2

v1.15

v1.17

v1.19

适配EulerOS新内核

1.2.1

v1.15

v1.17

v1.19

  • 适配CCE v1.19集群
  • 插件增加污点容忍

1.1.13

v1.13

v1.15

v1.17

支持Centos7.6 3.10.0-1127.19.1.el7.x86_64内核系统

1.1.11

v1.15

v1.17

  • 支持用户自定义驱动地址下载驱动
  • 支持v1.15、v1.17集群

相关文档