본문 바로가기

Python

[Python] GPU 사용에 필요한 CUDA 개념 및 설치 방법 정리

GPU (Graphic Processing Unit)

  • 다양한 그래픽 및 병렬 연산을 수행해주는 장치

NVIDIA driver

  • NVIDIA GPU와 컴퓨터 OS 사이의 통신을 제어하는 소프트웨어
  • Driver version은 GPU에 의존한다.
  • Driver version 확인 방법: nvidia-smi
  • CUDA Toolkit에 포함되어 있다.

CUDA (Computed Unified Device Architecture)

  • GPU에서 병렬 코드를 작성하고 실행할 수 있는 도구 모음 (C/C++)
  • CUDA version은 NVIDIA driver version에 의존한다.
  • NVIDIA driver가 지원하는 최대 CUDA version 확인 방법: nvidia-smi
  • CUDA version 확인 방법: nvcc --version, conda list cudatoolkit
  • CUDA Toolkit에 포함되어 있다.

NVCC (NVIDIA CUDA Compiler)

  • 개발자용 CUDA 컴파일러
  • nvcc version: CUDA version과 같다. (nvcc --version)
  • 직접 compile하는게 아니라면, 예를 들어 딥러닝 training에는 꼭 필요하진 않다.

CUDA Toolkit

  • NVIDIA GPU 및 CUDA를 사용하는 데에 필요한 여러 프로그램 모음
  • GPU 드라이버, nvcc, CUDA, 디버깅 및 최적화 도구, 런타임 라이브러리 등을 포함한다.
  • 설치 방법
    • 직접 설치 (링크)
    • conda install cuda -c nvidia (링크)
    • 옛날 버전 conda install cuda -c nvidia/label/cuda-12.4.0

cuDNN (cuda Deep Neural Network ilbrary)

  • CUDA에서 신경망을 가속화하기 위한 라이브러리
  • 빠른 Convolution, pooling, activation 등의 연산을 가능하게 한다.
  • CUDA Toolkit에 포함되어 있지 않다.
  • 설치 방법
    • 직접 설치
    • conda install cudnn