코딩/기타

wsl 우분투 cuda 설치

샐프 2023. 11. 27. 18:43
반응형
  • 우분투 버전: Ubuntu-20.04
  • 파이썬 버전: 3.10.13
반응형
  1. cuda 설치'

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

여기에서 원하는 버전을 선택하면 된다

 

밑에 나온 명령어를 우분투에 입력한다.

만약 wget 할 때 404가 뜬다면 앞에 sudo를 붙여주자
만약 잘못해서 재설치를 해야하는 상황이 온다면 /usr/local/cuda-현재버전 을 삭제하고 설치 명령어 맨 밑줄인
sudo apt-get -y install cuda-toolkil-12-3과 같이 설치된 패키지를 전부 삭제해야 한다.

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

이후 명령어를 다시 입력하자

  1. cudnn 설치

https://developer.nvidia.com/rdp/cudnn-download

cudnn은 로그인을 해줘야 한다.

Local Installer for Linux x86_64 (Tar) <- 이 링크를 복사해주고 설치한다.

$ sudo wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.6/local_installers/12.x/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz/
--2023-11-26 00:16:07--  https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.6/local_installers/12.x/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz/
Resolving developer.nvidia.com (developer.nvidia.com)... 152.199.39.144
Connecting to developer.nvidia.com (developer.nvidia.com)|152.199.39.144|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://developer.nvidia.com/login [following]
--2023-11-26 00:16:08--  https://developer.nvidia.com/login
Reusing existing connection to developer.nvidia.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html                        [ <=>                                              ]  39.14K   243KB/s    in 0.2s

2023-11-26 00:16:09 (243 KB/s) - ‘index.html’ saved [40075]

하지만 설치에서 오류가 난것 같다.

윈도우에서 다운로드 하고 우분투로 옮겨줬다.

$ mv /mnt/e/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz .

이후 압축을 풀어준다.

tar -xJvf cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz

그리고 해당 폴더에서 필요한 파일들을 복사해준다.

$ sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 

$ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 

$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

그리고 편집기로 bashrc를 수정한다.

$ sudo vi ~/.bashrc

가장 밑 줄에 해당 코드를 삽입한다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.3/lib64/

i키를 눌러 입력 상태로 만들고 enter로 한 줄 밑으로 내리고 복사한 코드를 우클릭하고 cuda-12.3을 자신의 버전으로 바꾼다.
그리고 :키를 누르고 wq

그리고 변경사항을 환경에 반영한다.

$ source ~/.bashrc

  1. 설치 확인

이제 설치가 됐는지 확인한다.

파이썬으로 가서

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

해당 코드를 실행해 본다.

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 5123965297897187253
 xla_global_id: -1,
 name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 10197401600
 locality {
   bus_id: 1
   links {
   }
 }
 incarnation: 2705891846653869562
 physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3060, pci bus id: 0000:01:00.0, compute capability: 8.6"
 xla_global_id: 416903419]

이런식으로 cpu 뿐 만 아니라 gpu도 나온다면 성공이다.

만약 안나왔다면

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

이 코드를 실행하고 다시 위 코드를 실행해 보자.

다른 코드로도 확인해 볼 수 있다.

import tensorflow as tf

# GPU 디바이스 확인
if bool(tf.config.list_physical_devices('GPU')):
    # GPU 디바이스가 존재하면 TensorFlow가 GPU 지원을 하고 있다고 판단
    print("GPU가 정상적으로 인식됨.")
else:
    print("GPU가 인식되지 않음.")

참고
https://webnautes.tistory.com/1848
https://jimmy-ai.tistory.com/121

반응형