[Ubuntu 22.04] Nvidia driver & Cuda 설치
설치 환경
- Ubuntu 22.04
- RTX A5000
NVIDIA Driver 설치
apt 최신버전으로 업글
sudo apt-get update
sudo apt-get upgrade
개발에 필수적인 라이브러리들 설치하는 코드
sudo apt-get install build-essential
사용중인 그래픽카드 확인
설치 가능한 nvidia 드라이버 확인
우분투 22.04 버전이 안정적이냐 아니냐는 nivida driver와 밀접한 연관이 있다고 합니다.
22.04는 작년까지만 해도 안정적이지 않은 것 같다라는 말들이 있었는데, 올해부터는 괜찮아진 것 같다고 합니다.
최신 버전인 525를 설치해주었습니다.
sudo apt install nvidia-driver-525
nvidia kernel module의 load를 도와주는 패키지
sudo apt-get install dkms nvidia-modprobe
sudo apt-get update
sudo apt-get upgrade
재부팅 후 설치 확인
Cuda 설치
- Pytorch에 Cuda 11.7이 마침 공식 지원으로 들어왔길래 11.7로 설치를 진행한다.
- Linux > x86_64 > Ubuntu > 22.04 > runfile(local)
https://callmescone.tistory.com/275
환경 패스 설정
- 경로 잘 체크해서 해주어야 합니다.
sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.7/bin'>> /etc/profile"
sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64'>> /etc/profile"
sudo sh -c "echo 'export CUDARDIR=/usr/local/cuda-11.7'>> /etc/profile"
source /etc/profile
설치 확인
CudNN 설치
https://developer.nvidia.com/rdp/cudnn-archive
local Installer for linux x86_64(tar)
압축 해제 후 파일 복사
tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz
sudo cp cudnn-linux-x86_64-8.7.0.84_cuda11-archive/include/cudnn* /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-8.7.0.84_cuda11-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn.so.8.4.1 /usr/local/cuda-11/targets/x86_64-linux/lib/libcudnn.so.8
설치 확인
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
SKIPPED ..?? 이거 왜 뜨는건지 모르겠네요.
가상 환경 만들어서 테스트
참고한 블로그 : https://chaloalto.tistory.com/38
sudo apt install python3-venv
가상환경을 세팅할 경로로 가서 가상환경 만들기
python3 -m venv venv
참조 : https://callmescone.tistory.com/274
pip upgrade
pip3 install --upgrade pip
가상 환경 내에 pytorch 설치
가상 환경 내에 tensorflow 설치
- https://www.tensorflow.org/install/source?hl=ko#tested_build_configurations
- 최신버전 2.11.0에 대하여 테스트 된 버전이 cuda11.2 이긴 합니다. 그래도 그냥 설치해줬습니다.
pip install tensorflow
아래 git을 clone 하여 check.py 를 실행시켜줘봤습니다.
https://github.com/changhwanjoe/check_tensorfow-gpu
GPU monitoring
https://velog.io/@claude_ssim/NVIDIA-GPU-%EB%B3%B4%EB%8A%94%EB%B2%95nvidia-smi
watch -d -n 0.5 nvidia-smi
학습 실행
python check.py
2 ~24 % 찍히는거 보니깐 GPU가 잘 쓰이는 모양입니다.