티스토리 뷰

AI

GPU id 지정하여 학습하기

체봄 2022. 6. 6. 12:14

 

예를 들어 GPU가 3대 있는 서버에서 2번 GPU를 사용해야 한다면, 아래 명령어처럼 실행해준다.

CUDA_VISIBLE_DEVICES=2 python run.py

CUDA_VISIBLE_DEVICES에 사용할 GPU id를 지정해준다.

 

 

+ 참고

위 방식대로만 사용하면 되는데, 나의 경우 추가적으로 설정을 잘못해서 'RuntimeError: CUDA error: invalid device ordinal' 에러가 발생했다.

def makeMultiTurnChatbot(model_name, from_file=None, device="cuda:0"):
    model = BartForDialogueGeneration.from_pretrained(model_name).to(device)
    ...

원래 코드에서 device="cuda:0"으로 되어 있던 부분을 device="cuda:2"로 바꿔 주어서 에러가 났다.

CUDA_VISIBLE_DEVICES는 해당 id의 GPU(들)만을 볼 수 있게 한다는 것으로, 넘겨 받은 GPU(들)을 0번부터로 인식한다.

그래서 2번 GPU만을 넘겨줬을 경우 이를 0번 GPU로 인식하고, 1개의 GPU만 보이는 상황이므로 cuda:0만 존재한다. 그런데 cuda:2로 써줬기 때문에 에러가 난 것이다.

반응형

댓글