分布式/多进程中的这种情况的现象是,对于同一个python进程(pid号相同)会两次占用固定大小的gpu内存
观察到的现象是python进程多于预期应有的进程数。比如我们单机多卡分布式训练,已经完成了网络模型的in-place参数设备转换,即network.cuda(),现在我们有4块GPU,我们在程序中的每一个进程分配一块GPU时本来应该只有4个进程,每个进程占用一定的GPU显存,但实际情况如所示:
Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1291 G /usr/lib/xorg/Xorg 153MiB |
| 0 2549 G fcitx-qimpanel 14MiB |
| 0 21740 G compiz 138MiB |
| 0 22840 C /home/jia/.virtualenvs/phoenix/bin/python 6097MiB |
| 0 22841 C /home/jia/.virtualenvs/phoen