PC환경
CPU : AMD® Epyc 7713p 64-core processor × 128
VGA : RTX 4090 24GB 4EA
Memory : 251GB
OS : Ubuntu 20.04
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
NOTE: 이미 호환되는 driver 확인 후 설치하였으니 여기서 driver는 해제하고 설치한다
설치가 완료되면 아래처럼 뜬다
여기서 뜨는 WARNING은 graphic driver를 같이 설치하지 않아서 뜨는 것
때문에 호환되는 드라이버를 설치하였다면 무시해도 무방하다
Summary
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.8/
Please make sure that
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.8/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 520.00 is required for CUDA 11.8 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run --silent --driver
Logfile is /var/log/cuda-installer.log
설치 후 경로 설정을 해줘야 진짜 끝난다
gedit ~/.bashrc
제일 아래에 두 줄 추가
(cuda-11.8로 경로설정 해줘도 되지만 cuda 버전 여러 개 설치할 가능성도 있기에 cuda로 했다)
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc
명령어 입력 시 제대로 출력되면 성공
nvcc -V
https://k2-fsa.github.io/k2/installation/cuda-cudnn.html#install-cudnn-for-cuda-11-8
wget https://huggingface.co/csukuangfj/cudnn/resolve/main/cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz
tar xvf cudnn-linux-x86_64-8.9.1.23_cuda11-archive.tar.xz
압축 풀린 파일들을 /ur/local/로 복붙 및 권한 설정
sudo cp cudnn-linux-x86_64-8.9.1.23_cuda11-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-8.9.1.23_cuda11-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
명령어 입력 시 제대로 출력되면 성공
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
sudo ldconfig
을 치면 다음과 같은 오류가 발생
$ sudo ldconfig
/sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link
$ cd /usr/local/cuda-11.8/lib64
$ ls -lha libcudnn*
제일 상단에 libcudnn.so, so.8, so.8.9.1 파일들에 링크가 없는걸 볼 수 있음. 이걸 다시 만들어줘야함.
sudo ln -sf libcudnn.so.8.9.1 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ln -sf libcudnn_adv_infer.so.8.9.1 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_adv_infer.so.8 libcudnn_adv_infer.so
sudo ln -sf libcudnn_adv_train.so.8.9.1 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_train.so.8 libcudnn_adv_train.so
sudo ln -sf libcudnn_cnn_infer.so.8.9.1 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8 libcudnn_cnn_infer.so
sudo ln -sf libcudnn_cnn_train.so.8.9.1 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_cnn_train.so.8 libcudnn_cnn_train.so
sudo ln -sf libcudnn_ops_infer.so.8.9.1 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_ops_infer.so.8 libcudnn_ops_infer.so
sudo ln -sf libcudnn_ops_train.so.8.9.1 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_train.so.8 libcudnn_ops_train.so
ls -al libcudnn.so*
심볼릭 링크가 형성됨
sudo ldconfig
cuDNN 설정이 제대로 됐는지 확인하면 끝!
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
nvidia-smi
nvcc -V
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
watch -d -n 0.5 nvidia-smi
메모리와 온도를 0.5초마다 갱신되게 함
와 감사합니다. 그대로 진행하니 되네요(에러까지 ㅎㅎ) ***tensorflow가 호환이 안되서 cudnn은 8.6.0으로 재설치 진행했습니다!