我在不同的GPU上训练变形金刚模型(8个GPU中有3个)并且想在专用GPU上杀死训练只有(0,6,7)
我训练了top
命令我只能看到PID
x1c 0d1x。但是不知道哪些GPU属于PID
杀死-9我不想使用,因为不知道哪个GPU会停止,因为我想停止(0,7,6)并保持其他运行
我用一个小例子重现这个问题:
from accelerate import Accelerator, notebook_launcher
from accelerate.utils import set_seed
def training_loop():
set_seed(42)
accelerator = Accelerator(mixed_precision="fp16")
print("Hello There!")
# main()
notebook_launcher(training_loop(), num_processes=2) #training_loop(),
使用termonal启动脚本:CUDA_VISIBLE_DEVICES=0,6,7
python3 AccelerateTrainer.py
我希望在为0、6和7 GPU运行Nvidia-smi
0%
之后
2条答案
按热度按时间46qrfjad1#
在
nvidia-smi
表下面,你应该有一个进程列表。如果你在一个docker容器中,你需要退出它来查看PID列表。从那里你将能够定位哪个进程正在占用内存并杀死它。lsmepo6l2#
我发现这个
Linux
命令可以列出所有过去或当前的启动进程:ps -eo pid,lstart,cmd -u user_name | grep -i python3
然后在我知道特定GPU上运行的脚本kill -9 <process_id>
后,按照命令杀死特定GPU