NVIDIA 드라이버 / CUDA Toolkit / cuDNN

ad_official·2025년 6월 6일
0

딥러닝 기초

목록 보기
5/5

개요

정리하자면

  1. NVIDIA 드라이버: GPU를 컴퓨터가 인식하고 제대로 쓰게 해 주는 필수 프로그램
  2. CUDA Toolkit: GPU에서 일반 계산을 빠르게 돌릴 수 있도록 도와주는 도구 세트
  3. cuDNN: 딥러닝 연산을 더욱 빠르게 해 주는, GPU 전용 최적화 코드 묶음

쉽게 연결해 보면

  1. 컴퓨터에 GPU가 있으려면 먼저 NVIDIA 드라이버를 설치해서 운영체제와 GPU가 대화할 수 있게 합니다.
  2. GPU를 계산에 쓰려면 CUDA Toolkit을 깔아서 프로그램(특히 C/C++로 짠 코드)을 GPU에서 돌릴 수 있도록 준비합니다.
  3. 딥러닝 같은 복잡한 계산은 cuDNN이 GPU용으로 최적화된 코드를 제공해 주니까, 프레임워크가 이걸 이용해 계산 속도를 높입니다.
  4. PyTorch를 쓰면, 모델을 설계할 때 GPU 사용을 자동으로 처리합니다. PyTorch 내부에서 CUDA Toolkit을 통해 GPU로 데이터를 보내고, cuDNN으로 연산을 빠르게 수행합니다.

  • NVIDIA 드라이버
    • 컴퓨터에 붙어 있는 NVIDIA 그래픽카드(GPU)가 제대로 작동하도록 돕는 소프트웨어
    • 쉽게 말해, 운영체제(Windows나 Linux)와 그래픽카드 사이에서
      • “내가 이 그래픽카드를 쓰려면 이렇게 말해줘”라고 연락해 주는 중간 다리 역할을 합니다.
    • 드라이버가 없으면 GPU가 제대로 움직이지 않거나, 아예 인식이 안 될 수 있어요.

  • CUDA Toolkit
    • GPU를 계산(특히 병렬 계산) 용도로 쓰게 해 주는 도구 모음
    • 예를 들어,
      • C나 C++으로 만든 프로그램이 “이 계산은 GPU로 더 빠르게 할 수 있어”라고 코드로 지시하면,
      • Toolkit 안에 들어 있는 컴파일러와 라이브러리가
        • 그 코드를 GPU가 이해할 수 있는 형태로 바꿔 줍니다.
    • 결과적으로, 일반 CPU만 사용할 때보다 일정 종류의 계산(영상 처리, 과학 계산, 머신러닝 등)을 훨씬 빠르게 처리할 수 있게 해 줍니다.

  • cuDNN
    • 딥러닝(인공신경망)용으로 특히 최적화된 작은 프로그램 묶음
    • GPU에서 “컨볼루션” 같은 신경망 연산을 할 때 필요한 구체적인 계산을 빠르게 수행하도록 미리 짜여진 코드들
    • 즉, 사용자가 직접 복잡한 최적화 알고리즘을 구현하지 않아도, cuDNN만 설치해 두면
      • 딥러닝 프레임워크(예: TensorFlow, PyTorch)가 자동으로 이 코드를 불러와서 연산 속도를 크게 높여 줍니다.



버전 맞추기

요약

  1. PyTorch 공식표에서 “어떤 CUDA 버전과 짝이 맞는지” 확인하고
  • ( “PyTorch 1.12는 CUDA 11.3과 호환됩니다”처럼)
  • 그 표에서, 그 표에서 내 GPU driver 가 지원하는 CUDA 버전을 확인하세요.
  1. conda 가상환경을 만들어서 conda install pytorch cudatoolkit=내CUDA버전 -c pytorch 한 줄로 설치하거나
  2. Docker를 써서 이미 설정된 환경을 그대로 가져오면
    • 매번 복잡하게 버전 맞추지 않아도 되고
    • 프로젝트마다 겹치지 않게 관리할 수 있어요.


  1. 미리 정해진 버전표를 참고하기

    • PyTorch 홈페이지(또는 각 깃허브 README)에 보면 “어떤 CUDA 버전과 함께 쓰세요”라는 표가 있어요.
    • 예를 들어, “PyTorch 1.12는 CUDA 11.3과 호환됩니다”처럼요.
    • 먼저 그 표에서 내 GPU 드라이버(운영체제→GPU가 알아먹도록 도와주는 프로그램)가 지원하는 CUDA 버전을 확인하세요.
  2. conda 같은 가상환경을 활용하기

    • 시스템 전체에 설치하는 대신, 프로젝트마다 별도의 공간(가상환경)을 만듭니다.

    • 예시:

      conda create -n myenv python=3.9
      conda activate myenv
    • 이렇게 하면 여기 안에만 PyTorch와 CUDA가 설치되고, 다른 프로젝트와 충돌하지 않습니다.

  3. CUDA 툴킷은 따로 설치하지 않아도 되는 방법 사용하기

    • 요즘은 PyTorch에 “CUDA 포함 버전”이 있어서, 따로 CUDA 툴킷을 깔지 않아도 됩니다.

    • 예를 들어, 아래 명령어 하나면 PyTorch와 필요한 CUDA가 같이 설치돼요:

      conda install pytorch=1.12 cudatoolkit=11.3 -c pytorch
    • 이때 cudatoolkit=11.3은 PyTorch 공식표에 맞춰서 쓰는 겁니다. 그러면 내 시스템 드라이버가 CUDA 11.3을 지원하면 바로 잘 동작해요.

  4. cuDNN은 PyTorch 패키지 안에 포함된 경우가 많음

    • conda로 위처럼 설치하면 cuDNN도 자동으로 맞춰서 깔아 줍니다.
    • 따로 cuDNN을 설치할 필요 없이, conda 안에서 알아서 버전 호환을 맞춰 줘요.
  5. 만약 시스템에 CUDA 툴킷을 직접 깔아야 한다면

    • 내 드라이버가 지원하는 CUDA 버전을 먼저 확인:

      nvidia-smi

      이 명령어를 치면 “CUDA Version: XX.X”라고 나옵니다.

    • 그 다음, 그 CUDA 버전에 맞는 cuDNN 버전을 NVIDIA 홈페이지에서 다운받아서 설치하세요.

    • 그리고 나서 PyTorch를 “CUDA 없이 CPU 버전만” 설치하거나, CPU/CUDA 버전이 분리되어 있다면 “내 CUDA 버전과 맞는” PyTorch를 설치하면 됩니다.

  6. 매번 버전 맞추기 귀찮으면 Docker 쓰기

    • Docker 이미지 안에는 이미 GPU 드라이버·CUDA·cuDNN·PyTorch가 다 설정돼 있어요(예: NVIDIA의 “CUDA Toolkit” 공식 이미지).

    • 예시:

      docker run --gpus all -it pytorch/pytorch:1.12.0-cuda11.3-cudnn8-runtime
    • 이렇게 하면 “버전 충돌” 걱정 없이 바로 딥러닝 코드를 돌릴 수 있습니다.


profile
ad_official

0개의 댓글