문제 발생
multi-gpu를 사용해 모델 학습을 하기 위해서 pytorch의 DistributedDataParallel를 이용해서
코드를 작성을 했어요.
GPU에 데이터가 올라가고, GPU-Util이 100%가 됐지만 여기서 멈추는 현상이 발생을 했어요..!
freeze 현상 발생 코드
이게 무슨일인가 싶어서 얼른 확인을 했답니다.
DDP로 model을 감싸준 부분에서 넘어가지 않는 것을 확인을 했어요.
model = DDP(model, device_ids=[device])
해결 방법
해결 방법은 아래 코드를 입력해주면 돼요.
os.environ["NCCL_P2P_DISABLE"] = "1"
문제 원인
안타깝게도 Nvidia RTX 4090은 P2P 기능이 지원이 되지 않아 발생하는 현상이었답니다.
참고
https://discuss.pytorch.org/t/ddp-training-on-rtx-4090-ada-cu118/168366/23