We enabled MPS and tyied to run “process A” and “process B” parallelly.
However, performance didn’t seem to be improved.
Did we run “process A” and “process B” simultaneously when nvidia-smi command output like below?
・Output of nvidia-smi
±---------------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|==================================================================================|
| 0 XXXX C nvidia-cuda-mps-server XXXMiB |
| 0 YYYY M+C process A YYYMiB |
| 0 ZZZZ M+C process B ZZZMiB |
±----------------------------------------------------------------------------------+
・Environment
-
GPU
Single Nvidia T4 GPU -
How to enable MPS server
export CUDA_VISIBLE_DEVICES=0
sudo nvidia-smi -i 0 -c EXCLUSIVE_PROCESS
sudo nvidia-cuda-mps-control -d
unset CUDA_VISIBLE_DEVICES -
How to start process A and B(using nvidia-docker2)
docker create -e NVIDIA_VISIBLE_DEVICES=0 --runtime=nvidia --ipc=host --name proca imageforproca
docker run foo(started process A)
docker create -e NVIDIA_VISIBLE_DEVICES=0 --runtime=nvidia --ipc=host --name procb imageforprocb
docker run foo(started process B)