Deepspeed background process kill

딥스피드 백그라운드 프로세스 죽이는 법

Deepspeed를 사용해서 여러 대의 GPU를 병렬로 사용할 때
dist.init_process_group(backend="nccl")를 사용하기 때문에
Backend에서 프로세스가 실행된다.

이 때문에 터미널에서 Ctrl+C를 눌러 파이썬 실행파일을 종료해도 Backend에서 프로그램이 실행된다.

그러므로 GPU의 메모리는 아직도 사용중이다. -> OOM 발생.

이를 해결하는 법은 간단하다.

pgrep python | xargs kill

위 문구만 입력하면 실행되고 있는 python Backend process들을 깔끔하게 죽일 수 있다.

주의

  • 하나의 프로그램을 여러대의 GPU를 묶어서 사용할 때 Backend python process가 종료가 안될 경우 (OOM 발생 시) 사용하자.

  • 여러 개의 프로그램을 GPU에 각각 분할해서 사용할 경우 모든 Python 실행 프로세스가 종료된다. 이를 주의하자.

Leave a comment