Huawei Cloud EulerOS-安装并使用XGPU:XGPU服务使用示例

时间:2025-02-12 15:01:04

XGPU服务使用示例

影响XGPU服务的环境变量如下表所示,您可以在创建容器时指定环境变量的值。容器引擎可以通过XGPU服务获得算力和显存。

表1 影响XGPU服务的环境变量

环境变量名称

取值类型

说明

示例

GPU_IDX

Integer

指定容器可使用的GPU显卡。

为容器分第一张显卡:

GPU_IDX=0

GPU_CONTAINER_MEM

Integer

设置容器内可使用的显存大小,单位 MiB。

为容器分配的显存大小为5120MiB:

GPU_CONTAINER_MEM=5120

GPU_CONTAINER_QUOTA_PERCENT

Integer

指定显卡算力分配百分比。

算力支持最小1%粒度的划分,推荐最小算力不低于4%。

为容器分配50%的算力比例:

GPU_CONTAINER_QUOTA_PERCEN=50

GPU_POLICY

Integer

指定GPU使用的算力隔离的策略。

  • 0:不隔离算力,即原生调度。
  • 1:固定算力调度。
  • 2:平均调度。
  • 3:抢占调度。
  • 4:权重抢占调度。
  • 5:混合调度。
  • 6:权重弱调度。

算力隔离策略示例详见XGPU算力调度示例

设置算力隔离策略为固定算力调度:GPU_POLICY=1

GPU_CONTAINER_PRIORITY

Integer

指定容器的优先级。

  • 0:低优先级
  • 1:高优先级

创建高优先级容器:

GPU_CONTAINER_PRIORITY=1

以nvidia的docker创建两个容器为例,介绍XGPU服务的使用方法,数据规划如下。

表2 数据规划

参数

容器1

容器2

说明

GPU_IDX

0

0

指定两个容器使用第一张显卡。

GPU_CONTAINER_QUOTA_PERCENT

50

30

为容器1分配50%算力,为容器2分配30%算力。

GPU_CONTAINER_MEM

5120

1024

为容器1分配5120MiB显存,为容器2分配1024MiB显存。

GPU_POLICY

1

1

设置第一张显卡使用固定算力调度策略。

GPU_CONTAINER_PRIORITY

1

0

指定容器1为高优先级容器,容器2为低优先级容器。

配置示例:

docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=50 -e GPU_CONTAINER_MEM=5120 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=1 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=30 -e GPU_CONTAINER_MEM=1024 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=0 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash
support.huaweicloud.com/usermanual-hce/hce_xgpu_0002.html