文档

安装共享GPU调度组件

更新时间:

针对使用共享GPU的模型预测场景,容器服务 Kubernetes 版提供了共享GPU调度能力,同时也支持NVIDIA驱动在内核态的控制,保障GPU显存的隔离。本文介绍如何在专有版GPU集群中安装GPU隔离模块及GPU分配查询工具,实现GPU的共享和隔离能力。

前提条件

使用限制

  • 支持共享GPU调度的节点不能将CPU Policy设置为static

  • 目前GPU隔离模块cGPU 1.5.0以下版本不兼容5xx系列的GPU驱动,即以5开头的驱动,例如510.47.03。

更多使用限制,见下表。

配置

支持版本

Kubernetes

仅支持1.12.6及其以上版本的专有版集群

操作系统

仅支持CentOS 7.x、Alibaba Cloud Linux 2.x、Alibaba Cloud Linux 3.x、Ubuntu 16.04和Ubuntu 18.04操作系统

支持显卡

仅支持Tesla P4、Tesla P100、 Tesla T4和Tesla v100

步骤一:为带有GPU设备的节点打标签

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 节点管理页面,单击右上角的标签与污点管理

  4. 标签与污点管理页面,批量选择节点,然后单击添加标签

  5. 在弹出的添加对话框中,填写标签名称,然后单击确定

    设置名称cgputrue,使节点共享GPU功能生效。

重要

如果您需要关闭节点共享GPU功能,可以设置名称cgpufalse。删除标签不能关闭节点共享GPU功能。

步骤二:为添加标签的节点安装共享GPU组件

  1. 登录容器服务管理控制台,在左侧导航栏选择市场 > 应用市场

  2. 应用市场页面,搜索ack-cgpu应用,然后单击ack-cgpu应用的卡片。

  3. ack-cgpu页面,单击一键部署,在基本信息页签,选择集群命名空间,输入发布名称,然后单击下一步

  4. 参数配置页签,设置相应参数,然后单击确定

  5. 登录Master节点,执行以下命令,验证cGPU组件是否安装成功。关于如何登录Master节点,请参见使用VNC登录实例

    helm get manifest cgpu -n kube-system | kubectl get -f -

    出现以下结果输出时,说明cGPU组件安装成功。

    NAME                                    SECRETS   AGE
    serviceaccount/gpushare-device-plugin   1         39s
    serviceaccount/gpushare-schd-extender   1         39s
    
    NAME                                                           AGE
    clusterrole.rbac.authorization.k8s.io/gpushare-device-plugin   39s
    clusterrole.rbac.authorization.k8s.io/gpushare-schd-extender   39s
    
    NAME                                                                  AGE
    clusterrolebinding.rbac.authorization.k8s.io/gpushare-device-plugin   39s
    clusterrolebinding.rbac.authorization.k8s.io/gpushare-schd-extender   39s
    
    NAME                             TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)           AGE
    service/gpushare-schd-extender   NodePort   10.6.13.125   <none>        12345:32766/TCP   39s
    
    NAME                                       DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR    AGE
    daemonset.apps/cgpu-installer              4         4         4       4            4           cgpu=true        39s
    daemonset.apps/device-plugin-evict-ds      4         4         4       4            4           cgpu=true        39s
    daemonset.apps/device-plugin-recover-ds    0         0         0       0            0           cgpu=false   39s
    daemonset.apps/gpushare-device-plugin-ds   4         4         4       4            4           cgpu=true        39s
    
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/gpushare-schd-extender   1/1     1            1           38s
    
    NAME                           COMPLETIONS   DURATION   AGE
    job.batch/gpushare-installer   3/1 of 3      3s         38s

  • 本页导读 (1)
文档反馈