RuntimeError: Distributed package doesn't have NCCL built in

jy_log·2024년 6월 12일

error log

목록 보기
4/5

윈도우에서 분산학습 하기

RuntimeError: Distributed package doesn't have NCCL built in

윈도우 환경인 워크스테이션에서 분산 학습 되도록 train 코드를 수정했더니 해당 오류가 뜸.

원인 :

해당 train에 사용된 코드는 논문에서 리눅스 환경 기준으로 작성 됨.
즉 내 워크스테이션이 윈도우 환경이라 backend NVCCL support가 없기에 생긴 문제였음.
참고로 윈도우는 gloo를 지원함.

해결책 :

train.py의 setup 함수 수정

from utils import MetricLogger, create_optimizer, init_distributed_mode, is_main_process, get_rank, optimizer_to

def setup(rank, world_size):
    dist.init_process_group(
        backend='gloo',  # Windows에서는 NCCL을 지원하지 않으므로 GLOO를 사용
        init_method='tcp://localhost:29500',  # 환경 변수에서 정보를 가져오기
        rank=rank,
        world_size=world_size #사용 가능한 GPU 개수
    )

def cleanup():
    dist.destroy_process_group()
profile
Data Science & AI

0개의 댓글