RTX 3080ti 장비 세팅 중 발생한 에러
신규장비가 들어왔는데 CPU와 GPU가 최신 버전이라 예상치 못한 문제가 발생했다.
CPU : 12th Gen Intel(R) Core(TM) i9-12900K
GPU : NVIDIA GeForce RTX 3080 Ti
* 문제1 : 네트워크 (이더넷) 장비 인식 못함
- 상황 : 해당 장비에 Ubuntu 18.04를 설치하고 ifconfig를 하니 이더넷 주소를 반환하지 않는 문제가 발생했다.
CPU가 너무 최신 제품이라 발생한 문제
- 원인 : CPU에서 네트워크 장치를 인식하지 못하는 문제
- 해결방법 : 12세대 인텔 CPU에서 필요로하는 Kernel 버전과 Ubuntu 18.04에서 제공하는 Kernel 버전이 일치하지 않아 발생한 문제였다.
CPU에서 필요로하는 Kernel 버전을 제공하는 OS인 Ubuntu 20.04.3 LTS 버전을 설치하니 이더넷 주소가 잡혔다.
* 문제2 : SSH 접속 에러
- 원인 : 크게 두가지 경우인데 첫째로 신규장비로 SSH 설정이 안되어있는 경우이고 둘째는 보안 문제이다.
- 해결방안 : SSH 설정은 간단한다.
apt-get install ssh
sudo vi /etc/ssh/sshd_config에 들어가 PubkeyAuthentication를 yes로 설정한다. (다 하고 ssl reboot 한다)
* 문제3 : GPU 30시리즈(3080, 3080ti, 3090) Nvidia-Driver, CUDA Toolkit, CuDNN 세팅
- 상황 : 저사양 GPU는 CUDA 세팅이 자동화되어 있거나 매우 간편하지만... 최신 사양의 30시리즈는 GPU Driver, CUDA Toolkit, CuDNN의 버전을 잘 맞춰줘야 한다.
- 해결방안
(1) Nvidia-Driver 설치
nvidia-smi를 했는데 WARNING: apt does not have a stable CLI interface. Use with caution in scripts이란 메세지가 보이면 GPU Driver가 설치 안된것이다.
sudo apt-get purge nvidia-*
sudo apt-get update
sudo apt-get autoremove
apt search nvidia-driver
sudo apt install libnvidia-common-470
sudo apt install libnividia-gl-470
sudo apt install nvidia-driver-470
nvidia-smi
(2) CUDA Toolkit 설치
nvcc -V 를 했을 때 에러가 발생하면 CUDA가 설치 안된 상태이다.
해당 장비에는 nvidia-470과 3080ti와 호환되는 CUDA 11.2 버전을 설치했다.
https://webnautes.tistory.com/1428
위의 홈페이지 참고해서 설치한다.
만약, Anaconda 활성화했을때 CUDA가 인식이 되지 않으면 아래와 같이 환경변수를 추가 설정한다.
export CUDA_HOME=/usr/local/cuda-11.2
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
nvcc -V를 통해 설치를 최종 확인한다.
(3) CuDNN 설치
cuDNN도 위의 홈페이지를 참고해 버전을 잘 맞춰 설치한다.
* 문제4 : Anaconda 활성화 후, 보안인증서 문제
- 상황 : Anaconda를 설치해 env 실행한 후 pip install을 진행하려 했다.
하지만 SSL 에러 문제가 발생하며 install이 되지 않았고 curl https://www.naver.com 또한 에러가 발생했다.
- 원인 : Anaconda는 ssl 환경까지 독립되게 가져가기 때문에 anaconda 안에 환경에 HQSSL 인증서를 등록해주어야 한다.
- 해결방법 : anaconda 경로에 들어가 find -name "cacert.pem"을 해 cacert.pem이 들어가 있는 리스트를 찾는다.
그리고 해당 list에 아래와 같이 HQSSL_2020.crt를 추가해준다.
cat HQSSL.crt >> /root/anaconda3/envs/"환경이름"/ssl/cacert.pem
cat HQSSL.crt >> /root/anaconda3/envs/"환경이름"/lib/"파이썬 버전"/site-packages/certifi/cacert.pem
cat HQSSL.crt >> /root/anaconda3/envs/"환경이름"/lib/"파이썬 버전"/site-packages/pip/_vendor/certifi/cacert.pem
환경을 추가해줄 때마다 매번 HQSSL.crf를 추가해주어야 한다.
* 문제5 : pytorch 호환 문제
- 상황 : 3080ti에 호환되는 CUDA Toolkit은 11.2버전이기 때문에 torch 또한 다른 버전으로 설치해주어야한다.
- 에러메세지 : NVIDIA GeForce RTX 3080 Ti with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70...
- 해결방법 : pip install torch==1.10.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
해당 버전에 +cu113을 붙여 원하는 CUDA Toolkit과 호환되는 torch를 설치해야 한다.
python
>>> import torch
>>> torch.rand(10).to("cuda")
에러가 안나면 해결된 것이다.