更新时间:2024-11-04 GMT+08:00

gpu-device-plugin

插件简介

gpu-device-plugin插件是支持在容器中使用GPU显卡的设备管理插件,集群中使用GPU节点时必须安装本插件。

约束与限制

  • 下载的驱动必须是后缀为“.run”的文件。
  • 仅支持Nvidia Tesla驱动,不支持GRID驱动。
  • 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。
  • gpu-device-plugin插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。
  • 如您使用A100/A800的多GPU卡机型,您需要手动安装与版本驱动对应的nvidia-fabricmanager服务才可以正常使用,详情请参见安装nvidia-fabricmanager服务
  • 本地集群只支持x86系统架构类型。

安装插件

  1. 登录UCS控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”
  2. 在“可安装插件”中找到gpu-device-plugin,单击“安装”
  3. 在安装插件页面,填写插件配置。

    • 插件规格:可配置“默认”“自定义”规格,请根据实际情况选择。
    • 容器:选择“自定义”规格时支持设置。
    • Nvidia驱动:您可使用CCE提供的驱动地址或手动填写自定义Nvidia驱动的地址,集群下全部GPU节点将使用相同的驱动。

      GPU虚拟化功能仅支持470.57.02、510.47.03、535.54.03版本的GPU驱动。

      建议您使用CCE提供的驱动地址,以满足驱动版本的要求。
      • 如果下载链接为公网地址,例如地址为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节点适配。
      • 更改驱动版本后,需要重启节点才能生效。
      • 对于linux 5.x内核系统,如华为云欧拉操作系统 2.0或ubuntu 22.04,建议使用470及以上版本驱动。
      图1 安装gpu-device-plugin

  4. 单击“安装”,安装gpu-device-plugin插件的任务即可提交成功。

验证插件

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

GPU节点
cd /usr/local/nvidia/bin &&./nvidia-smi

容器

nvidia-smi

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

获取驱动链接-公网地址

  1. 登录CCE控制台。
  2. 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。
  1. 登录到nvidia网站。
  2. 图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit

    图2 参数选择

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

    图3 驱动信息

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

    • 方式一:如图4,在浏览器的链接中找到url=/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run的路径,补齐全路径为https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,该方式节点需要绑定EIP 。
    • 方式二:如图4,单击“下载”按钮下载驱动,然后上传到OBS,获取软件的链接,该方式节点不需要绑定EIP。
      图4 获取链接

获取驱动链接-OBS地址

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

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

  2. 在OBS管理控制台左侧导航栏选择“对象存储”。
  3. 在桶列表单击待操作的桶,进入“概览”页面。
  4. 在左侧导航栏,单击“对象”。
  5. 找到目标对象,单击“更多>复制对象URL”,复制驱动链接。

    图5 获取链接

安装nvidia-fabricmanager服务

A100/A800 GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。

本文以驱动版本470.103.01为例,您可参考以下步骤进行安装,请根据实际情况需要替换驱动版本。

  1. 登录需要安装nvidia-fabricmanager服务的GPU节点,该节点需绑定EIP用以下载nvidia-fabricmanager服务。
  2. 安装与驱动版本对应的nvidia-fabricmanager服务,您可通过官方下载操作系统和驱动版本对应的安装包。

    • CentOS操作系统
      以CentOS 7为例:
      driver_version=470.103.01
      wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-drivers-fabricmanager-${driver_version}-1.x86_64.rpm
      rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
    • Ubuntu等其他操作系统
      以Ubuntu 18.04为例:
      driver_version=470.103.01
      driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}')
      wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
      dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb

  3. 启动nvidia-fabricmanager服务。

    systemctl enable nvidia-fabricmanager
    systemctl start nvidia-fabricmanager

  4. 查看nvidia-fabricmanager服务状态。

    systemctl status nvidia-fabricmanager