2024년 11월 27일 수요일

그래픽 드라이버, CUDA, cudnn 설치 혹은 업데이트


0. 먼저 현재 드라이버 버전과 CUDA버전 확인하기
그래픽 드라이버 버전 확인
>> nvidia-smi
우측 상단에 Driver Version과 CUDA Version 확인 (이건 현재 드라이버로 설치가능한 최대 버전)

cuda버전 확인 가능 (현재 설치된 버전)
nvcc --version

에러를 내면

/usr/local/cuda/bin/nvcc를 실행하면 됨



pytorch binary를 사용한다면 이미 CUDA내장(9.1버전 이상)이므로,
print(torch.version.cuda)으로 버전 확인 가능

<https://medium.com/@dun.chwong/the-simple-guide-deep-learning-with-rtx-3090-cuda-cudnn-tensorflow-keras-pytorch-e88a2a8249bc>


1. 설치/업데이트 하려는 CUDA와 graphic driver버전 확인하기

<https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver>

<https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html>

CUDA 11.7 Update 1

>=515.48.07

>=516.31

CUDA 11.7 GA

>=515.43.04

>=516.01

CUDA ToolkitLinux x86_64 Minimum Required Driver VersionWindows Minimum Required Driver Version
CUDA 12.x>=525.60.13>=527.41
CUDA 11.x>= 450.80.02*>=452.39*
CUDA Toolkit Linux x86_64 Driver Version
CUDA 10.2 (10.2.89) >= 440.33
CUDA 10.1 (10.1.105) >= 418.39
CUDA 10.0 (10.0.130) >= 410.48
CUDA 9.2 (9.2.88) >= 396.26
CUDA 9.1 (9.1.85) >= 390.46
CUDA 9.0 (9.0.76) >= 384.81
CUDA 8.0 (8.0.61 GA2) >= 375.26
CUDA 8.0 (8.0.44) >= 367.48
CUDA 7.5 (7.5.16) >= 352.31
CUDA 7.0 (7.0.28) >= 346.46

2. 저장소 업데이트(안하면 나중에 의존성 문제 발생할 수 있음)
시스템설정->소프트웨어&업데이트->업데이트->다음에서 업데이트 설치에서 중요, 추천, Backport다 체크(실제로 업데이트가 진행되지는 않고, 저장소만 수정)


3. graphic driver 삭제 및 설치
<https://devyurim.github.io/development%20environment/ubuntu/2018/05/28/ubuntu-3.html>
<https://pstudio411.tistory.com/entry/Ubuntu-2004-Nvidia%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0> 
삭제
sudo apt-get remove --purge nvidia-*

설치 (NVIDIA사이트에서 별도로 다운로드 받아서 설치하기보다는 apt-get형태로 설치하기를 추천함)
apt search nvidia-driver
apt-cache search nvidia-driver
ubuntu-drivers devices (로도 확인 가능)

ex) nvidia-driver-510-server - Transtional packge for  nvidia-drier-515-server

sudo apt-get install nvidia-driver-*** [***에 원하는 버전]
sudo reboot

nvidia-smi로 확인(CUDA, 그래픽드라이버의 버전 모두 확인 가능


4. CUDA와 cudnn다운로드

4.1. 먼저 이전에 설치된 cuda삭제

sudo apt-get --purge remove 'cuda*'
sudo apt-get autoremove --purge 'cuda*'

sudo rm -rf /usr/local/cuda*
sudo rm -rf /usr/local/cuda

4.2. 새 버전 설치
https://developer.nvidia.com/cuda-toolkit-archive
에서 원하는 파일 선택 후, 설치 명령어 복사/입력

다음은 설치 예(CUDA 10.0, ubuntu16.04기준)
기본파일
sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

업데이트파일
sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-nvjpeg-update-1_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get upgrade cuda

CUDNN복사
먼저 cudnn 다운로드 후, 압축 풀어야 함.
(https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html 참고)
sudo mv cuda/include/* /usr/local/cuda/include
sudo mv cuda/lib64/* /usr/local/cuda/lib64

만약 설치시 에러가 난다면,
sudo apt clean
sudo apt update
sudo apt purge nvidia-* 
sudo apt autoremove
sudo apt install -y cuda
(https://askubuntu.com/questions/1280205/problem-while-installing-cuda-toolkit-in-ubuntu-18-04)


5. 설치 확인->0번 방법


혹시 여기서 nvcc를 모르겠다는 에러가 생긴다면,
vi ~/.profile
맨 아랫줄에 다음을 추가
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
닫은 후, source ~/.profile 실행

만약 특정 사용자가 아닌 모든 사용자에게 적용을 원한다면
위 작업을 /etc/profile에 해주면 됨.

사실 cat /usr/local/cuda/version.txt 로도 가능하지만 경로 설정을 위해서 위와 같이 함.