安装并使用XGPU |
您所在的位置:网站首页 › 华为云空间下载安装到手机上 › 安装并使用XGPU |
本章节介绍如何安装和使用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 |