<결론> - 23.06.29
1. 파이토치는 cuda 12.1을 지원하지 않는다. 아래 방법으로 설치하면 안된다.
2. nvidia smi시 나오는 cuda는 설치가능한 가장 최신버전의 쿠다이다. 버전을 낮게 깔아도 무관하다.
3. 23년 기준 11.6 정도가 cuda 버전으로 좋은 것 같다.
<참고해야하는 사항>
- 필자는 rtx 4070에서 nvidia driver 530에 cuda 권장이 12.1이 나와서 해당 버전으로 설치했다. . . pytorch는 cuda 11.7 라인이 좋다. 12.1은 너무 버전이 높고 앞으로도 사용하다 어떤 충돌이 날지 모른다. 앞으로 충돌 날 때마다 기록해야지
CUDA 설치
1. nvidia-smi 로 cuda 버전 확인하기

여기서 나는 불안해서 12.1로 깔고 torch 설정을 따로 해줬는데 , cuda랑 torch를 사용할거면 11.7을 권장한다. 나 말고 다른 팀원들은 저 숫자 무시하고 그냥 11.7을 깔아서 사용하는데 괜찮은 것 같다.
2.
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
위 사이트에서 호환되는 버전의 cuda를 설치한다.

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
sudo sh cuda_12.1.0_530.30.02_linux.run
버전에 맞게 install 해주면 된다.
3.
관리자 권한으로 실행해준다.
sudo chmod 777 cuda_12.1.0_530.30.02_linux.run
sudo ./cuda_12.1.0_530.30.02_linux.run
continue
accept

cuda toolkit 을 제외하고 x표시를 제외한다. (엔터로)
install
4.
nano ~/.bashrc
로 열고
맨 아래
export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
를 추가해준다. (이때 반드시 cuda-00.0에 자신의 버전에 맞는 걸로 !)
그리고 저장해준다.
5.
nvcc -V로 확인한다.

cuDNN 설치
1. https://developer.nvidia.com/rdp/cudnn-download
사이트로 들어간다.(회원가입 해야함,agree)
2. 버전에 맞는 cuDNN을 설치한다. (Tar 파일로 설치)

3. 다운로드된 경로로 들어가서 압축을 해제해준다.
tar-xvf cudnn-linux-x86_64-8.9.1.23_cuda12-archive.tar.xz
4. 압축 해제한 디렉토리로 접근하여 아래 명령어들을 실행해준다.
$ cd cudnn-linux-x86_64-8.9.1.23_cuda12-archive //본인 파일명으로 해야함
$ sudo cp include/cudnn* /usr/local/cuda/include
$ sudo cp 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.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn.so.8.6.0 /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn.so.8
5.설치 확인
$ sudo ldconfig
$ ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 (이거 쳤을 때 #define CUDNN_MAJOR 8 떠야함)

파이토치 설치하기(CUDA 12.1)
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116
확인하는 방법

원래 print(torch.__version__) 했을 때 ,, 저렇게 뜨지 않는게 정상이지만 .. 우선 yolo v5 실행 및 아직 오류는 없어서 사용하고 있다. 추후 이 방법으로 오류가 나면 포스팅해보도록 하겠다!
'Ubuntu' 카테고리의 다른 글
| CUDA,Cudnn 삭제 (0) | 2023.07.13 |
|---|---|
| nvrtc: error: invalid value for --gpu-architecture (-arch) 문제 해결 (0) | 2023.06.29 |
| ubuntu 20.04 아나콘다 설치하기 (0) | 2023.05.30 |
| Ubuntu 20.04 nvidia 그래픽 드라이버 설치하기(1주일 삽질 후 성공 후기) - ASUS ROG G18 RTX4070 (0) | 2023.05.25 |
| [Ubuntu] 리눅스 크롬 설치하기(20.04) (0) | 2023.04.28 |