기존 설치된 CUDA 삭제
아래의 명령어를 순차로 실행하여 기존에 설치된 NVidia 드라이버를 삭제합니다.
sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /usr/local/cuda*
설치할 드라이버 확인
설치 가능한 NVidia driver 리스트를 확인 합니다.
ubuntu-drivers devices
설치 가능한 nvidia driver 디바이스 목록이 출력됩니다.
하기의 링크에서 설치하고자 하는 CUDA 버전과 그에 따른 nvidia driver 리스트를 확인할 수 있습니다.
링크: https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver
저는 후에 Tensorflow도 사용하고 싶으니 먼저 지원하는 CUDAqjwjsrhk cuDNN을 확인합니다.
Tensorflow gpu와 호환되는 CUDA, cuDNN 버전을 확인한다
호환되는 CUDA와 cuDNN 버전은 아래 링크에서 확인할 수 있다.
Windows: https://www.tensorflow.org/install/source_windows#tested_build_configurations
Mac / Linux: https://www.tensorflow.org/install/source#tested_build_configurations
안전하게 12.2 CUDA 설치하고 cuDNN은 8.9 설치하겠습니다.
12.2를 설치하려면 드라이버가 535이어야겠네요.
sudo apt-get install nvidia-driver-535
sudo apt-get install dkms nvidia-modprobe
sudo apt-get update
sudo apt-get upgrade
설치가 모두 완료되었으면, 서버를 재시작합니다.
재시작
sudo reboot now
재시작 후 잘 설치가 되었는지 확인합니다.
nvidia-smi
원하는 12.2가 아주 잘 찍혀있다.
아래 링크에서 CUDA Version 12.2에 맞게 Toolkit을 다운로드 해준다.
https://developer.nvidia.com/cuda-toolkit-archive
Continue -> accept
터미널에 명령어 수행
Driver는 이미 설치하였으니 Driver 체크는 빼줍니다.
설치 완료
(서버에 처음 설치하는 경우만) gcc 관련 설치
sudo apt update
sudo apt install build-essential
sudo apt-get install manpages-dev
nvcc -V
위 명령어를 했는데 오류가 발생하였다면 환경변수 등록하기
환경변수 등록
출력 되는 CUDA 목록에서 설치하고자 하는 CUDA 버전 폴더를 확인합니다.
ls /usr/local | grep cuda
환경변수 등록
gedit ~/.bashrc
아래 내용 넣어주기
export CUDA_HOME=/usr/local/cuda-12.2
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
저장하고 나가서 명령어 실행
source ~/.bashrc
완벽
cuDNN 설치
cuDNN 설치파일 다운로드를 위하여 아래의 링크로 접속합니다.
https://developer.nvidia.com/rdp/cudnn-archive
아래에서 설치할 CUDA 버전을 선택 합니다.
말했듯이 나중에 Tensorflow를 생각해서 8.9버전을 다운받을 것이고 CUDA가 12.2니깐 맞춰서 진행하면 되겠습니다.
Tar 파일, 다운로드 파일에 다운로드하고 압축풀기
tar -xvf <다운로드 받은 파일 이름>
cd <압축 푼 폴더 이름>
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda-12.2/lib64/libcudnn*
- tar -xvf: 다운로드한 cuDNN의 압축을 풀어준다.
- sudo cp: cuDNN 라이브러리 파일과 헤더 파일을 적절한 CUDA 디렉토리로 복사한다. 이는 CUDA와 함께 cuDNN이 작동할 수 있도록 설정한다.
- sudo chmod a+r: 복사된 파일들에 대해 읽기 권한을 추가하여 다른 사용자도 이 파일들을 사용할 수 있도록 한다.
reboot 필요
cuDNN 버전 확인
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2