wsl 우분투 cuda 설치

Apic·2023년 11월 27일
0

우분투/wsl

목록 보기
4/5
  • 우분투 버전: Ubuntu-20.04
  • 파이썬 버전: 3.10.13
  1. cuda 설치'

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

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

만약 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

profile
코딩 공부하는 사람

0개의 댓글