좌충우돌

WSL2 환경에서 pytorch의 CUDA를 사용할 수 없는 경우

WSL2에서 pytorch를 사용하는 경우, 어느 순간 CUDA를 사용할 수 없는 경우가 생겼다.
nvidia-smi에서는 GPU가 잘 잡히면서도 torch.cuda.is_avaiable()의 결과는 False가 나온다.

아무래도 apt upgrade를 실행해서 WSL이 아닌 리눅스 기본으로 사용되는 nvidia 드라이버로 교체되면서 발생하는 것 같다.

보통은 잘못된 드라이버를 삭제하고 WSL에 맞는 드라이버를 설치하면 해결되지만, 제대로 삭제가 안되어서 아무리 다시 설치해도 안되는 상황이 생겼다.

를 실행하여 나오는 CUDA 관련 모든 패키지를 제거한다.

를 실행했을 때 나오는 .so 파일이 있을 경우 모두 강제로 제거해준다.
단, /usr/lib/wsl/lib/libcuda* 파일과 /usr/lib/x86_64-linux-gnu/libicudata.so.*는 정상 파일이니 삭제하면 안된다.

모든 찌꺼기를 삭제했으면 NVIDIA에서 나온 문서(https://docs.nvidia.com/cuda/wsl-user-guide/index.html) 를 따라 드라이버를 다시 설치한다.


Add a Comment Trackback