Windows 환경에서 NVIDIA 그래픽카드의 드라이버 및

AI 공부를 위한 CUDA, cuDNN을 설치하는 과정을 알아보고자 한다.

 

① 그래픽 카드 확인

GPU-Z 유틸리티를 활용해 내가 갖고 있는 그래픽카드를 확인해보자.

- https://www.whatwant.com/entry/GPU-Z

 

 

② 드라이버 설치

확인한 정보를 바탕으로 나에게 적합한 드라이버를 선택해서 설치해보자.

https://www.nvidia.com/ko-kr/drivers/

 

 

다운로드 받아서 잘 설치 진행하면 된다.

 

 

 

③ PyTorch 확인

CUDA 등이 필요한 이유는 AI 관련된 뭔가를 실습해보기 위해서일테고,

그 중 가장 대표적인 라이브러리가 바로 PyTorch 일 것이다.

 

설치하고자 하는 PyTorch에 맞춰서 CUDA 버전을 확인해보자.

https://pytorch.org/

 

 

CUDA 12.6 버전을 선택했다면,

CUDA 버전에 맞춰 PyTorch를 설치하도록 해야 한다.

 

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

 

 

 

④ CUDA 버전 확인

그런데, 내가 가지고 있는 그래픽카드에서 CUDA 12.6 버전을 지원할까?

 

일단, 그래픽카드 종류에 따라 호환되는 버전을 확인해보자.

https://developer.nvidia.com/cuda-gpus

 

 

어?! 내 그래픽카드는 안보인다! 😅

위키피디아에서 확인해보자.

https://en.wikipedia.org/wiki/CUDA

 

 

7.5 버전이 호환되네!?

그러면, CUDA 버전은 어디까지 쓸 수 있을까?

https://en.wikipedia.org/wiki/CUDA

 

 

오! 다행히 최신 버전까지 모두 호환된다 !!!

CUDA 12.6 사용하는데, 아무런 문제가 없다.

 

 

⑤ CUDA 설치

원하는 버전을 골라서 다운로드 받아 설치하면 된다.

https://developer.nvidia.com/cuda-toolkit-archive

 

 

각자 환경에 맞춰서 잘 선택해서 다운로드 받으면 된다.

 

 

예전에는 직접 설정을 했어야 했던 것 같은데, 지금은 환경 변수에 알아서 잘 셋팅 되는 것 같다.

 

 

CUDA_PATH 부분을 살펴보면 된다.

 

 

 

⑥ cuDNN 설치

설치한 CUDA 버전을 기준으로 cuDNN 버전을 골라서 설치하면 된다.

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

 

NVIDIA Developer 사이트에 가입이 필요하다. 딱히 손해볼 것 없으니 가입 후 진행하면 된다.

 

 

다운로드 받으면 zip 압축 파일이 보일 것이고,

일단 압축을 풀어주면 된다.

 

 

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6

경로 밑에 저 압축을 풀어서 나온 bin, include, lib 디렉토리들을 그냥 덮어 쓰기로 복사해서 넣어주면 된다.

 

 

기존에 이미 경로가 있을텐데, 동일 이름의 디렉토리에 파일들을 추가하는 개념이다.

 

 

⑦ 테스트

잘 설치가 되었는지 확인을 해보자.

 

먼저, Python 환경이 필요하니 Python 설치부터 진행해야 한다.

- https://www.whatwant.com/entry/Python-397-Windows-10

 

좀 더 편한 개발환경을 위해 VSCode를 설치해보자.

- https://code.visualstudio.com/

 

CUDA 테스트를 위한 가상 환경을 만들어서 진행해보자.

 

> python -m venv .venv

> .venv/Scripts\activate.bat

 

PyTorch 라이브러리 설치는 다음과 같이 하면 된다.

 

> pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

 

VSCode 터미널에서 실행해본 결과는 아래와 같다.

 

 

설치 중간에 WSL 관련해서 아래와 같은 메시지가 나올 수도 있다.

 

 

설치가 잘 되었으면

아래와 같이 import torch 해서 아래와 같이 동작을 확인해볼 수 있다.

 

 

그리고 당연히 드라이버 등이 잘 설치되었기에 nvidia-smi 실행 결과도 볼 수 있다.

 

 

이제 뭔가 환경이 준비 되었다!!!

 

반응형

AI Model 관련하여 공부/실습을 하기 위해서는 GPU 환경이 필요하다.

그리고, 주로 Linux 기반의 환경을 선호한다.

 

문제는 쓸만한 그래픽 카드가 달려있는 PC가

게임 등을 위해서 주로 Windows 환경이라는 것이다.

 

개인적으로 개발환경으로서 Windows는 선호하지 않지만

GPU가 필요한 개발환경이 필요하기에

어쩔 수 없이 Windows 환경을 꾸며야하는 상황이 생긴 것이다.

 

일단 내가 갖고 있는 그래픽 카드 정보를 확인하는 것이 필요한데,

이를 간단하게 살펴볼 수 있는 도구가 있다.

- https://www.techpowerup.com/download/techpowerup-gpu-z/

 

 

CPU 정보를 알려주는 CPU-Z 처럼

GPU 정보를 알려주는 GPU-Z 유틸리티가 있는 것이다.

 

설치 후 실행해보면...

내가 갖고 있는 미천한 그래픽 카드의 정보는 다음과 같다.

 

 

간단하게 포스팅 완료~

반응형

내 M1 맥북을 개발용 장비로 자리잡도록 하기 위해 GPU 사용하는 Tensorflow 실행환경을 맞추고 싶어서 해봤다.

 

 

1. Xcode Command Line Tools 설치

  - 이미 Xcode를 설치했더니 에러 메시지가 나온다.

  - 기존에 Xcode를 설치하지 않은 분들은 "명령어 라인 개발자 도구"를 설치할 것이냐고 묻는 창이 나온다.

$ xcode-select --install

xcode-select: error: command line tools are already installed, use "Software Update" to install updates


$ xcode-select --version

xcode-select version 2395.

 

 

2. Miniforge3 설치

  - M1 맥북에서는 Anaconda 설치가 안되기에 Miniforge3를 설치하고자 한다.

  - https://github.com/conda-forge/miniforge

$ cd ~/Downloads

$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh

# wget 명령어가 안되면 `brew install wget` 실행
# 또는 그냥 Chrome에서 다운로드 받아도 됨

$ sh Miniforge3-MacOSX-arm64.sh

# 중간에 계속 `yes` 해주면 됨

$ conda info

 

  - 터미널(또는 iTerm2)를 재시작하면 커서 앞 부분에 `(base)`를 볼 수 있을 것이다.

 

[참고 #1] 쉘 실행할 때 자동으로 conda가 활성화 되는 것이 싫을 때에는 다음과 같이 설정하면 된다고 한다.

$ conda config --set auto_activate_base false

 

[참고 #2] 현재 conda env 목록을 확인하거나 실행중인 env를 끄고 싶을 때에는 다음과 같이 하면 된다.

$ conda env list

$ conda deactivate {envname}

 

 

3. 가상환경 만들기

  - 각자 원하는 경로를 준비한 뒤, 가상환경을 생성하면 된다.

$ cd ~/workspace
$ mkdir tensorflow
$ cd tensorflow

$ conda create -n tensorflow python=3.9

$ conda activate tensorflow

 

 

 

4. TensorFlow dependencies 설치

$ conda install -c apple tensorflow-deps

 

 

5. TensorFlow 설치

$ python -m pip install tensorflow-macos

 

 

6. TensorFlow-Metal (GPU framework) 설치

$ python -m pip install tensorflow-metal

 

 

7. TensorFlow 버전 확인

$ python

>>> import tensorflow
>>> tensorflow.__version__
'2.8.0'

 

 

8. Test

$ nano ./test.py
import tensorflow as tf

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)
❯ python test.py

Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 3s 0us/step
11501568/11490434 [==============================] - 3s 0us/step
Metal device set to: Apple M1

systemMemory: 8.00 GB
maxCacheSize: 2.67 GB

2022-04-05 00:17:23.938189: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:305] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.
2022-04-05 00:17:23.938287: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:271] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>)
2022-04-05 00:17:24.494088: W tensorflow/core/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz
Epoch 1/5
2022-04-05 00:17:24.640534: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:113] Plugin optimizer for device_type GPU is enabled.
1875/1875 [==============================] - 10s 4ms/step - loss: 0.2934 - accuracy: 0.9150
Epoch 2/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.1379 - accuracy: 0.9586
Epoch 3/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.1019 - accuracy: 0.9693
Epoch 4/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0832 - accuracy: 0.9739
Epoch 5/5
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0715 - accuracy: 0.9780
2022-04-05 00:18:05.571816: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:113] Plugin optimizer for device_type GPU is enabled.
313/313 - 1s - loss: 0.0806 - accuracy: 0.9743 - 985ms/epoch - 3ms/step

 

  - 뭔가 에러 메시지가 나와서 예쁘지는 않는데...  GPU는 사용하고 있다.

GPU

반응형

+ Recent posts