GPU spatial sharing with NVIDIA MPS

本文介绍了如何在多个Docker容器中设置NVIDIA Multi-Process Service (MPS)。创建新容器时,需添加参数`--ipc=host`以赋予容器与主机相同的网络权限。启动MPS后,每个GPU会有一个`nvidia-cuda-mps-server`进程。运行模型时,模型即成为该GPU的MPS客户端。同时,文章提到了如何退出MPS、设置GPU的SM百分比以及限制客户端内存。

How to set MPS in many containers?

When you creat a new container, you should add a parameter –ipc=host to make the new container has the same network privilege as host server.
For example:

docker run -itd --name xxx -ipc=host --privileged=true -p 10001:22 image_xxxx:1.0

Start MPS

CUDA_DEVICE_ORDER=PCI_BUS_ID CUDA_VISIBLE_DEVICES=1 nvidia-cuda-mps-control -d

Once MPS started, each GPU will has a nvidia-cuda-mps-server process. If you run a resnet50 model. it is a MPS client for this GPU.
在这里插入图片描述

Quit MPS

echo quit | nvidia-cuda-mps-control

set SM percentage

export CUDA_MPS_ACTIVE_THREAD_PERCENTAGE=percentage

client memory limits

export CUDA_MPS_PINNED_DEVICE_MEM_LIMIT="0=1G"

where 0 is GPU id, 1G is the process GPU memory limitation. For detail, you can refer: https://developer.nvidia.com/blog/revealing-new-features-in-the-cuda-11-5-toolkit/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wychen_sunshine

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值