본문 바로가기

👩‍🌾 도비의 농장/🍓 딸기밭

[개발환경] RTX 4090 Ubuntu 22.04 | CUDA

❍ Ubuntu 22.04

 

❍ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver                                                        
Copyright (c) 2005-2022 NVIDIA Corporation                                                   
Built on Wed_Sep_21_10:33:58_PDT_2022                                                        
Cuda compilation tools, release 11.8, V11.8.89                                               
Build cuda_11.8.r11.8/compiler.31833905_0   

 

sudo apt-get update
sudo apt install -y ubuntu-drivers-common

구성 확인 + Nvidia Graphic Driver

lspci | grep -i nvidia

GPU 2개 ➝ 2개 뜨는거 확인

 

 

Distribution + Release number 확인

uname -m && cat /ect/*release

ubuntu 22.04 설치 확인

 

 

gcc compiler

gcc --version

# 없다면 설치
sudo apt update
sudo apt install build-essential

 

Kernel version 확인 + Kernel headers install

uname -r
sudo apt-get install linux-headers-$(uname -r)

 

그래픽 카드 확인

sudo lshw -numeric -C display

 

Compatible version 확인

sudo ubuntu-drivers devices

distro non-free recommended 표시된 nvidia-driver-###-open 확인

 

 

원하는 버전으로 설치 & reboot 후 확인

sudo apt install nvidia-driver-###
sudo reboot

nvidia-smi

> CUDA Version은 compatible version 의미

 

 


CUDA install

 

cuda-toolkit 에서 환경과 맞는 설정 찾아 설치

 

코드 복붙 > 순차적으로 진행

이미 호환되는 driver 확인 후 설치 > driver 해제하고 설치

 

 

경로 설정

sudo vi ~/.bashrc

 

아래 두 줄 추가

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

 

 

수정된 bashrc 적용 후 확인

source ~/.bashrc

nvcc -V

 


cuDNN 설치

 

cuDNN Archive 버전 확인 후 다운로드

 

scp 명령어: mac > ubuntu 파일 전송

# 참고
scp example.txt remoteuser@your_server_ip:/home/remoteuser/

 

 

압축 풀고 /usr/local로 복붙 후 권한 설정

tar -xvf cudnn-linux-x86_64-#.#.#.#cuda##-archive.tar.xz

 

sudo cp cudnn-linux-x86_64-#.#.#.#_cuda##-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-#.#.#.#_cuda##-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

Anaconda 설치

 

더보기

root 에서 설치해야 하는건지??

다른 사용자에서 접근 안되서 삽질 222

 

anaconda : wget 명령어로 설치파일 다운로드

 

다운로드한 경로에서 실최된 파일 실행

bash Anaconda3-####.##-Linux-x86_64.sh

❍ 기본적인 설치 경로 = /home/[사용자]/anaconda3

❍ 필요한 경우 변경해주기

 

.bashrc에서 PATH 등록

export PATH="/home/{username}/anaconda3/bin:$PATH"

 

.bashrc 최신화

source ~/.bashrc

 

ssh 내 계정에서 .bashrc 수정 > conda 확인 완료^^

 


VS Code: ssh 접속

 

➞ remote-ssh extension > user@ip addr 접속

➞ python extension 설치 

 

➞ conda env

# 가상환경 목록 확인
conda env list 

# 가상환경 생성
conda create -n [name] python=3.9

# 실행
conda activate [name]

# conda: error: argument COMMAND: invalid choice: 'activate'
# 해결: linux anaconda3 path 입력
source /opt/anaconda3/etc/profile.d/conda.sh

 

 

 


✏️ import torch ..[OK]

torch.cuda.is_available() > [Fasle]

 

✅ torch ↔ cuda 버전에 맞게 conda로 설치 

pkgs > conda clean

 

device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')

 

torch version 맞추기.. [link]

cuda 11.8이니까 이게 맞지 않을까

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# conda 랑 pip 차이가 뭐죠?

 

GPU 정보 확인

# GPU 이름 체크(cuda:0에 연결된 그래픽 카드 기준)
print(torch.cuda.get_device_name(), device = 0)

# 사용 가능 GPU 개수 체크
print(torch.cuda.device_count())

 

특정 번호 GPU 사용 지정

import os

# 0, 1, 2번의 GPU를 모두 사용하고 싶은 경우 예시(각각 cuda:0, cuda:1, cuda:2에 지정)
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2"

# 2번 GPU만 사용하고 싶은 경우 예시(cuda:0에 지정)
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

 

 

 

 


 

 

 

 


[참고] Ubuntu Server