本文为您介绍如何通过阿里云容器服务Kubernetes版ACK(Container Service for Kubernetes)安装及使用GPU容器共享技术cGPU。
安装cGPU服务
通过ACK服务在GPU节点上安装GPU隔离模块及GPU分配查询工具,从而实现GPU的调度和隔离能力。具体操作,请参见安装cGPU服务。
使用cGPU服务
以下为您介绍通过ACK服务使用cGPU服务的操作指引。您可以根据自身业务场景,选择相应的内容前往查看。
- 运行cGPU服务
通过部署YAML文件创建cGPU,并使用cGPU的显存隔离能力,实现GPU设备资源的高效利用。具体操作,请参见运行cGPU服务示例。
- 监控和隔离GPU资源
通过cGPU服务,在无需修改现有GPU程序的前提下,保障多个容器共享同一个GPU的同时,实现彼此的互相隔离。以实际示例介绍如何通过托管的Prometheus查看GPU的显存使用情况,以及如何通过cGPU实现资源隔离。具体操作,请参见监控和隔离GPU资源。
- 升级GPU节点的Docker
cGPU的隔离能力依赖Docker 19.03.5以及与其对应的Nvidia-container-runtime版本,如果Kubernetes集群节点安装的Docker版本低于19.03.5,您需要将其升级至19.03.5。否则,Kubernetes集群节点将无法支持cGPU服务。
升级Docker以及与其对应的Nvidia-container-runtime的具体操作,请参见升级GPU节点的Docker。
- 基于节点池管理cGPU服务
基于节点池管理cGPU能够为您提供更加灵活的GPU共享调度和显存隔离策略。您可以通过创建两个含标签的节点池的示例,掌握如何基于节点池管理共享GPU的调度能力和显存隔离能力。具体操作,请参见基于节点池管理cGPU服务。
- 关闭cGPU显存隔离能力
通过部署创建GPU共享容器的YAML文件,介绍如何关闭cGPU显存隔离能力。具体操作,请参见关闭cGPU显存隔离能力。