更新时间:2024-07-15 GMT+08:00
分享

GPU虚拟化概述

CCE GPU虚拟化采用自研xGPU虚拟化技术,能够动态对GPU设备显存与算力进行划分,单个GPU卡最多虚拟化成20个GPU虚拟设备。相对于静态分配来说,虚拟化的方案更加灵活,最大程度保证业务稳定的前提下,可以完全由用户自己定义使用的GPU量,提高GPU利用率。

GPU虚拟化的优势

CCE提供的GPU虚拟化功能优势如下:

  • 灵活:精细配置GPU算力占比及显存大小,算力分配粒度为5%GPU,显存分配粒度达MiB级别。
  • 隔离:支持显存和算力的严格隔离,支持单显存隔离,算力与显存同时隔离两类场景。
  • 兼容:业务无需重新编译,无需进行CUDA库替换,对业务无感。

前提条件

配置

支持版本

集群版本

v1.23.8-r0、v1.25.3-r0及以上

操作系统

Huawei Cloud EulerOS 2.0操作系统

GPU类型

支持T4、V100类型的GPU

驱动版本

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

运行时

仅支持containerd

插件

集群中需要同时安装以下插件:

约束与限制

  • 单个GPU卡最多虚拟化成20个GPU虚拟设备。
  • init容器不支持使用GPU虚拟化资源。
  • GPU虚拟化支持显存隔离、显存与算力隔离两种隔离模式。单个GPU卡仅支持调度同一种隔离模式的工作负载。
  • 使用GPU虚拟化后,不支持使用Autoscaler插件自动扩缩容GPU虚拟化节点。
  • XGPU服务的隔离功能不支持以UVM的方式申请显存,即调用CUDA API cudaMallocManaged(),更多信息,请参见NVIDIA官方文档。请使用其他方式申请显存,例如调用cudaMalloc()等。
  • 受GPU虚拟化技术的限制,容器内应用程序初始化时,通过nvidia-smi监测工具监测到的实时算力可能超过容器可用的算力上限。

相关文档