安装并使用XGPU

您所在的位置:网站首页 华为云空间下载安装到手机上 安装并使用XGPU

安装并使用XGPU

2023-04-26 16:05| 来源: 网络整理| 查看: 265

本章节介绍如何安装和使用XGPU服务。

约束限制 XGPU功能仅在Nvidia Tesla T4、Nvidia Tesla V100上支持。 HCE OS内核版本为5.10及以上版本。 GPU实例已安装版本高于470.57.02且小于515.43.04的NVIDIA驱动。 GPU实例已安装18.09.0-300或更高版本的docker。 安装XGPU服务 确认repo源配置正常。

请检查默认的/etc/yum.repos.d/hce.repo配置文件中参数是否正确,正确的配置如下。

[base] name=HCE $releasever base baseurl=https://repo.huaweicloud.com/hce/$releasever/os/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.huaweicloud.com/hce/$releasever/os/RPM-GPG-KEY-HCE-2 [updates] name=HCE $releasever updates baseurl=https://repo.huaweicloud.com/hce/$releasever/updates/$basearch/ ...... 执行yum install hce-xgpu命令安装xgpu软件包。 执行cat /proc/xgpu/0/policy命令,如果存在此目录,表示已成功安装XGPU服务。 XGPU服务使用示例

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

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

环境变量名称

取值类型

说明

示例

GPU_IDX

Integer

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

为容器分第一张显卡:

GPU_IDX=0

GPU_CONTAINER_MEM

Integer

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

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

GPU_CONTAINER_MEM=5120

GPU_CONTAINER_QUOTA_PERCENT

Integer

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

以5%粒度向上取整,即申请 51%算力,实际分配 55%算力。

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

GPU_CONTAINER_QUOTA_PERCEN=50

以nvidia的docker创建两个容器为例,介绍XGP服务的使用方法。

本示例中,两个容器共用一张显卡,通过设置环境变量GPU_IDX指定使用第一张显卡。通过变量GPU_CONTAINER_QUOTA_PERCENT和GPU_CONTAINER_MEM,为容器1分配50%算力,5120MB显存;为容器2分配30%算力,1024MB显存。

docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=50 -e GPU_CONTAINER_MEM=5120 -e GPU_IDX=0 --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 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash 查看procfs结点

XGPU服务运行时会在/proc/xgpu下生成并自动管理多个procfs节点,您可以通过procfs节点查看和配置XGPU服务相关的信息。下面介绍各procfs节点的用途。

执行以下命令,查看节点信息。ls /proc/xgpu/ 0 container version

目录内容说明如下表所示:

目录

读写类型

说明

0

读写

XGPU服务会针对GPU实例中的每张显卡生成一个的目录,并使用数字作为目录名称,例如0、1、2。本示例中只有一张显卡,对应的目录ID为0。

container

读写

XGPU服务会针对运行在GPU实例中的每个容器生成一个的目录。

version

只读

XGPU的版本。

执行以下命令,查看第一张显卡对应的目录内容。ls /proc/xgpu/0/ meminfo policy quota xgpu1 xgpu2

目录内容说明如下表所示:

目录

读写类型

说明

meminfo

只读

此显卡总共可用的显存大小。

policy

读写

算力隔离的策略。默认值为1。

1:指使用权重策略隔离算力。 0:指不隔离算力。

quota

只读

算力总权重。

xgpuIndex

读写

属于此显卡的xgpu子目录。

本示例中,属于第1张显卡的xgpu为xgpu1和xgpu2

执行以下命令,查看container目录内容。ls /proc/xgpu/container/ 9418 9582

目录内容说明如下表所示:

目录

读写类型

说明

containerID

读写

容器的ID。

使用XGPU创建容器的时候分配的ID,每个容器对应一个ID。

执行以下命令,查看containerID目录内容。ls /proc/xgpu/container/9418/ xgpu1 ls /proc/xgpu/container/9582/ xgpu2

目录内容说明如下表所示:

目录

读写类型

说明

xgpuIndex

读写

属于此容器的xgpu子目录。

本示例中,属于容器9418的xgpu为xgpu1,属于容器9582的xgpu为xgpu2。

执行以下命令,查看xgpuIndex目录内容。ls /proc/xgpu/container/9418/xgpu1/ meminfo quota

目录内容说明如下表所示:

目录

读写类型

说明

meminfo

只读

此XGPU分配的可见显存大小和当前剩余可用显存大小。

如3308MiB/5120MiB, 64% free,指分配了5120MiB,剩余64%可使用。

quota

只读

此XGPU分配的算力百分比。

如50,指此XGPU分配了显卡50%的算力。

了解procfs节点的用途后,您可以在GPU实例中执行命令进行切换调度策略、查看权重等操作,示例命令如下表所示。

命令

效果

echo 1 > /proc/xgpu/0/policy

修改第一张显卡的调度策略为权重调度。

cat /proc/xgpu/container/$containerID/$xgpuIndex/meminfo

查看指定容器里xgpu分配的显存大小。

cat /proc/xgpu/container/$containerID/$xgpuIndex/quota

查看指定容器里xgpu分配的算力权重。

cat /proc/xgpu/0/quota

查看第一张显卡上剩余可用的算力权重。

升级XGPU服务

XGPU服务采用冷升级的方式。

关闭所有运行中的容器。

docker ps -q | xargs -I {} docker stop {}

升级xgpu的rpm包。

rpm -U hce_xgpu

卸载XGPU服务 关闭所有运行中的容器。

docker ps -q | xargs -I {} docker stop {}

卸载xgpu的rpm包。

rpm -e hce_xgpu



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3