检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GPU调度 GPU节点驱动版本 使用Kubernetes默认GPU调度 GPU虚拟化 监控GPU资源指标 基于GPU监控指标的工作负载弹性伸缩配置 GPU虚拟化节点弹性伸缩配置 GPU故障处理 GPU监控指标说明 父主题: 调度
指标说明 图1 GPU资源指标 表1 GPU图表说明 图表名称 单位 说明 集群-显存使用率 百分比 集群的显存使用率 计算公式:集群内容器显存使用总量/集群内显存总量 集群-算力使用率 百分比 集群的算力使用率 计算公式:集群内容器算力使用总量/集群内算力总量 节点-显存使用量
在CCE控制台使用GPU资源,只需在创建工作负载时,选择使用的GPU配额即可。 图1 使用GPU GPU节点标签 创建GPU节点后,CCE会给节点打上对应标签,如下所示,不同类型的GPU节点有不同标签。
图2 参数选择 驱动信息确认完毕,单击“Find”按钮,会跳转到驱动信息展示页面,找到需要下载的驱动,单击“view”跳转到下载页面。 图3 驱动信息 鼠标右键单击“Download”按钮,复制下载链接。
图1 设置xGPU配额 本文主要为您介绍GPU虚拟化的使用,其他参数详情请参见工作负载。 其余信息都配置完成后,单击“创建”。 工作负载创建成功后,您可以尝试验证GPU虚拟化的隔离能力。 登录容器查看容器被分配显存总量。
DCGM_FI_DEV_MEM_CLOCK cce_gpu_graphics_clock Gauge Mhz GPU卡 GPU图形处理器频率 - cce_gpu_video_clock Gauge Mhz GPU卡 GPU视频处理器频率 DCGM_FI_DEV_VIDEO_CLOCK
图5 HPA策略创建成功 父主题: GPU调度
GPU虚拟化概述 CCE GPU虚拟化采用自研xGPU虚拟化技术,能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。
GPU故障处理 前提条件 如需将GPU事件同步上报至AOM,集群中需安装云原生日志采集插件,您可前往AOM服务查看GPU插件隔离事件。 GPU插件隔离事件 当GPU显卡出现异常时,系统会将出现问题的GPU设备进行隔离,详细事件如表1所示。
图1 访问Prometheus 单击“Status > Targets”,可以查看到Prometheus监控了哪些目标。 图2 查看监控目标 监控GPU指标 创建一个使用GPU的工作负载,等工作负载正常运行后,访问Prometheus,在“Graph”页面中,查看GPU指标。
GPU虚拟化 GPU虚拟化概述 准备GPU虚拟化资源 使用GPU虚拟化 兼容Kubernetes默认GPU调度模式 父主题: GPU调度
兼容Kubernetes默认GPU调度模式 开启GPU虚拟化后,工作负载调度GPU时建议使用显存隔离模式(即设置volcano.sh/gpu-mem.128Mi资源)和算显隔离模式(即同时设置volcano.sh/gpu-mem.128Mi和volcano.sh/gpu-core.percentage
在“GPU配置”中找到“节点池配置”,并选择新增的目标节点池。 参考准备GPU虚拟化资源,选择满足GPU虚拟化要求的驱动,并开启支持GPU虚拟化。 图1 异构资源配置 单击“确认配置”进行保存。
准备GPU虚拟化资源 CCE GPU虚拟化采用自研xGPU虚拟化技术,能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。本文介绍如何在GPU节点上实现GPU的调度和隔离能力。
GPU驱动支持列表 当前GPU驱动支持列表仅针对1.2.28及以上版本的GPU插件。 如果您需要安装最新版本的GPU驱动,请将您的GPU插件升级到最新版本。
手动更新GPU节点的驱动版本为临时方案,适用于需要对某个节点进行差异化配置的场景,但节点重启后将自动重置为GPU插件配置中指定的版本。 如果需要稳定升级GPU节点驱动,推荐使用通过节点池升级节点的GPU驱动版本。
图1 Nvidia驱动与CUDA Toolkit版本的配套关系 CUDA Toolkit和驱动的版本兼容性列表 在选择Nvidia驱动时,需要保证驱动版本兼容CUDA Toolkit版本,官方提供配套关系如下表。
GPU节点驱动版本 选择GPU节点驱动版本 CCE推荐的GPU驱动版本列表 手动更新GPU节点驱动版本 通过节点池升级节点的GPU驱动版本 父主题: GPU调度
通过节点池升级节点的GPU驱动版本 如果您使用的CUDA库无法与当前的NVIDIA驱动版本匹配,您需要升级节点的驱动版本才可以正常使用GPU节点。
示例中,为GPU/NPU节点添加accelerator=true:NoSchedule的污点。 图1 添加污点 创建GPU/NPU工作负载时,在高级配置中,手动添加容忍策略,容忍该污点。 图2 容忍策略 普通工作负载创建时,无需添加容忍策略。