Huawei Cloud EulerOS-安装并使用XGPU:XGPU服务使用示例
XGPU服务使用示例
影响XGPU服务的环境变量如下表所示,您可以在创建容器时指定环境变量的值。容器引擎可以通过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使用的算力隔离的策略。
算力隔离策略示例详见XGPU算力调度示例。 |
设置算力隔离策略为固定算力调度:GPU_POLICY=1 |
GPU_CONTAINER_PRIORITY |
Integer |
指定容器的优先级。
|
创建高优先级容器: GPU_CONTAINER_PRIORITY=1 |
以nvidia的docker创建两个容器为例,介绍XGPU服务的使用方法,数据规划如下。
参数 |
容器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