开源无线网络-OSRAN

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1404|回复: 0
打印 上一主题 下一主题

基于Docker+MPS的GPU共享方式

[复制链接]

38

主题

38

帖子

166

积分

注册会员

Rank: 2

积分
166
跳转到指定楼层
楼主
发表于 2023-6-22 21:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPU服务器多人共享使用时,往往会相互干扰影响,为了能使多人之间互不干扰,可以使用基于docker+MPS(Multiple Process Service)的方式共享使用GPU。
1. 需要在机器上提前安装好以下环境
  • 安装 docker;
  • 安装NVidia 显卡驱动、CUDA、CUDNN,可以参照如下文章:
[color=inherit !important]NVIDIA显卡驱动,CUDA,CUDNN安装流程 - jimchen1218 - 博客园 (cnblogs.com​[url]www.cnblogs.com/jimchen1218/p/14452417.html[/url]
如果机器可以运行GPU版本的Tensorflow,说明GPU的环境已经安装好了。

2. 安装NVidia-docker2
安装nvidia-container-runtime,如果安装nvidia-docker2的话 添加package repositories
  1. curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
  2. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
  3. curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
  4. sudo apt-get update
  5. sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-runtime.list
  6. sudo apt-get update
  7. sudo apt-get install nvidia-container-runtime
复制代码
运行以下命令验证是否安装成功:
sudo nvidia-docker run --rm nvidia/cuda:11.0-devel nvidia-smi
3. 运行tensorflow-GPU docker版
sudo docker run --runtime=nvidia -it --rm -v ~/Workspace/tfexamples/:/mnt tensorflow/tensorflow:latest-gpu python /mnt/test.py

--runtime=nvidia, 指明使用GPU环境,安装Nvidia-docker2的话,使用该参数;如果是Nvidia-docker1,使用--gpus all
-v ~/Workspace/tfexamples/:/mnt,将host主机目录映射到docker中
tensorflow/tensorflow:latest-gpu,使用tensorflow gpu 镜像;
python /mnt/test.py,指定运行的脚本或程序
4. 共享GPU方式的运行Docker Tensorflow
共享GPU需要首先启动MPS服务:
export CUDA_VISIBLE_DEVICES=0  export CUDA_MPS_PIPE_DIRECTORY=/tmp/nvidia-mps  export CUDA_MPS_LOG_DIRECTORY=/tmp/nvidia-log   nvidia-cuda-mps-control -d
运行Docker Tensorflow-GPU
sudo docker run --runtime=nvidia --ipc=host -it --rm -v ~/Workspace/tfexamples/:/mnt tensorflow/tensorflow:latest-gpu python /mnt/test.py
--ipc=host, 指明GPU的使用连接至本机的Nvidia-docker,共享GPU
关闭MPS服务:

echo quit | nvidia-cuda-mps-control


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|OpenXG  

Copyright © 2001-2013 Comsenz Inc.Template by Comsenz Inc.All Rights Reserved.

Powered by Discuz!X3.2

快速回复 返回顶部 返回列表