초보자때 CUDA 버전 업을 하려니까 Nvidia 드라이버 날아가고.. cuDNN 에러나고 난리났었는데
설치 방법을 제대로 알려주는 블로그가 없었어서
한번에 확실하게 설치하기 위해 정리했습니다.
cnDNN 버전 9부터 사이트가 변경된것 같은데, cnDNN 8버전을 설치하는법을 기록해두었습니다.
(cnDNN 8으로도 웬만하면 이상없이 사용가능할것입니다.)
nvidia driver 삭제 및 설치부터 CUDA, cuDNN 삭제 및 설치까지 모두 정리했습니다.
(본인도 nvidia 드라이버나 cuda 다시 설치할 때 이거 보고 설치합니다)
1. nvidia driver 삭제
sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
어떤 블로그는 CUDA 설치하는데 purge nvidia* 하라고 되어있는 경우가 있습니다.
한번 낚여가지고 그렇게 해봤었는데.. 이러면 CUDA 설치 후 nvcc -V로 CUDA 확인은 되는데 nvidia-smi는 안됩니다.
이렇게 purge nvidia*로 nvidia 파일 전체를 지우면 nvidia driver를 다시 설치해야 합니다.
CUDA만 재설치 할거면 nvidia*는 지울 필요가 없습니다.
2. nvidia driver 설치
NVIDIA 사이트에서 본인 GPU에 맞는 드라이버를 확인을 할 수 있습니다.
https://www.nvidia.co.kr/Download/index.aspx?lang=kr
sudo ubuntu-drivers devices
아니면 위 코드를 입력해서 다음과 같은 driver 목록을 확인할 수 있습니다.
우선 recommended가 목록에 있으면 다음 명령어를 통해 설치해봅니다.
sudo ubuntu-drivers autoinstall
본인의 경우에서는 위의 recommended 버전인 530이 설치됩니다.
다음 명령어로 수동 설치도 가능합니다.
sudo apt install nvidia-driver-525
우분투 20.04기준
위와 같은 명령어로 nvidia-dirvier를 설치하면
+알 수 없는 이유로 driver가 제대로 설치되지 않는 경우가 있습니다.
이럴때는 우분투 검색창에 Additional Driver를 검색합니다.
해당 창에서 원하는 driver를 클릭하고하단에 Apply Changes로 설치 후
재부팅 하면 정상적으로 nvidia-dirver가 설치됩니다.
++이렇게까지 해도 버전 mismatch가 발생하는 경우가 발생합니다.
이런경우에는 그냥 driver 목록에 뜨는거 하나씩 설치 및 삭제 해보면서 되는버전 설치될 때까지 노가다하면 됩니다.
Nvidia driver로 인한 block 현상(검은화면)이 나타난다면 (또는 그 외의 오류)
부팅시 shift나 esc 키를 눌러 우분투의 recovery mode로 들어간 뒤,
root에서 다음을 입력하여 드라이버를 삭제하면 됩니다.
sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
3. CUDA 삭제
sudo rm -rf /usr/local/cuda*
위 코드로 CUDA를 삭제할 수 있습니다.
4. CUDA 설치
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id4
위 사이트에서 설치해야 할 CUDA 버전을 확인할 수 있다.
위의 표를 참고해서 CUDA버전을 선택하면 됩니다.
(11.3이 인공지능 실험할때 많이 사용되는 버전같습니다.)
이렇게 자신의 CUDA Toolkit 버전을 확인했으면 다음 사이트에 들어가서 설치하면 됩니다.
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
저는 위 사이트에서 CUDA Toolkit 11.3을 선택했습니다.
x86_64는 인텔 SBSA는 ARM입니다. cpu제조사를 확인해야 합니다.
위 처럼 본인의 스팩에 맞게 선택한 뒤 아래 installer코드를 터미널에 입력하면 됩니다.
++
최근에 runfile (local)으로 설치를 자주 합니다.
cuda설치할 때 nvidia 드라이버를 건드리지 않는 방법이 쉽기 때문입니다.
스크립트를 터미널에 입력한 뒤
nvidia driver (재)설치 여부를 나타내는 [x]에서 엔터를 통해 x를 제거하여 [ ]로 해주고
실행하면 나름 간편하게 설치가 됩니다.
++
설치가 끝났으면 환경변수에 CUDA를 추가해야 합니다.
gedit ~/.bashrc
위 명령어를 터미널에 입력한 뒤 다음 명령어로 CUDA PATH를 추가해주면 됩니다.
(gedit은 우분투 메모장 느낌이고 초보자가 수정하기 쉽습니다. 터미널로 수정하려면 vi를 사용하는 것을 추천합니다.)
위치는 추후 수정이 용이하도록 가장 하단을 추천합니다.
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
난 11.3 버전을 설치해서 cuda-11.3이고 이것은 자신의 버전에 맞게 수정하면 됩니다.
수정 후 다음 명령어를 통해 수정한 bashrc를 실행합니다.
source ~/.bashrc
마지막으로 CUDA가 제대로 설치됐는지 확인하면 됩니다.
nvcc -V
마지막으로 cuDNN을 설치하면 됩니다.
(이 포스팅은 cuDNN 버전 8을 설치하는법을 다룹니다.)
https://developer.nvidia.com/cudnn
위 사이트에 접속해서 Download cuDNN Library을 클릭합니다.
아래 Resources 내에 Archive of Previous Releases 클릭합니다.
아래에 cuDNN 8.x - 1.x를 클릭합니다.
이제 본인이 원하는 cuDNN을 선택하면 됩니다.
(cuDNN은 웬만하면 가장 높은 버전을 설치하는게 좋습니다.)
원하는 버전을 클릭하면 아래와 같은 화면이 보이는데 for Linux ~~ (Tar) 버전을 설치합니다.
x86_64는 인텔 SBSA는 ARM입니다. cpu제조사를 확인해야 합니다.
위 폴더에 들어간뒤 해당 디렉토리에서 다음 명령어를 입력합니다.
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp -P lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
이제 cuDNN 설치를 확인하면 됩니다.
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
이렇게 화면이 나오면 정상적으로 설치된 것입니다.
본인이 설치한 버전은 8.9.2라서 MAJOR 8 / MINOR 9 / PATCHLEVEL 2입니다.
끝.
'Pytorch > Tips' 카테고리의 다른 글
Pytorch Weighted cross entropy 구현 (0) | 2024.04.26 |
---|---|
Pytorch Learnable parameter, 학습가능한 파라미터 만들기 (2) | 2024.03.14 |
Pytorch dataset에서 특정 class만을 load하는 Dataloader 만드는법 (0) | 2023.05.12 |
우분투 16.04 cmake 설치 방법 (0) | 2023.05.03 |
한 모델의 loss계산에 2개 이상의 dataloader를 병렬로 사용할 경우 (1) | 2023.02.21 |