본문으로 건너뛰기

NVIDIA GPU 환경 설정

카카오클라우드 GPU 인스턴스에서 NVIDIA 드라이버, CUDA, cuDNN을 설치하고 검증하는 방법을 안내합니다.

기본 정보
  • 예상 소요 시간: 30분
  • 권장 운영 체제: macOS, Ubuntu

시나리오 소개​

이 시나리오에서는 머신러닝과 딥러닝 작업에 필요한 NVIDIA GPU 환경을 구성합니다. 카카오클라우드에서 제공하는 Ubuntu 20.04 NVIDIA 이미지를 사용하는 방법과 일반 Ubuntu 이미지에 원하는 NVIDIA 드라이버, CUDA, cuDNN 버전을 직접 설치하는 방법을 함께 다룹니다.

주요 내용은 다음과 같습니다.

  • NVIDIA 드라이버 프리인스톨 이미지로 GPU 환경을 빠르게 구성하는 방법
  • 특정 NVIDIA/CUDA 버전이 필요할 때 일반 Ubuntu 이미지에 드라이버와 라이브러리를 설치하는 방법
  • GPU 인스턴스에 SSH로 접속해 드라이버와 라이브러리를 설치하는 과정
  • CUDA와 cuDNN 설치 후 GPU 환경을 검증하는 방법

시작하기 전에​

사전 작업으로 VPC와 서브넷, 보안 그룹을 설정합니다.

1. VPC와 서브넷 생성​

인스턴스를 생성하기 전, 인스턴스가 생성될 VPC 및 서브넷을 생성해야 합니다. VPC와 서브넷이 없다면, VPC 생성, 서브넷 생성 문서를 참고하여 VPC 및 서브넷을 생성합니다.

2. 보안 그룹 설정​

보안 그룹 생성 문서를 참고하여 보안 그룹을 생성합니다. 인바운드 규칙은 다음과 같이 추가합니다.

나의 퍼블릭 IP 확인하기

다음 버튼을 클릭하면 현재 사용 중인 나의 퍼블릭 IP를 확인할 수 있습니다.

CIDR프로토콜포트 번호역할
{사용자 퍼블릭 IP}/32TCP     22     SSH

시작하기​

NVIDIA 드라이버 프리인스톨 이미지를 사용하는 방식과 일반 Ubuntu 이미지에 드라이버를 직접 설치하는 방식을 순서대로 진행합니다.

Type 1. NVIDIA 드라이버 프리인스톨 이미지 사용​

카카오클라우드에서 제공하는 기본 이미지인 Ubuntu 20.04(NVIDIA VERSION)를 통해 GPU 인스턴스를 생성하는 방법은 다음과 같습니다. 이 이미지에는 NVIDIA 드라이버 버전 470.199.02, CUDA 버전 11.4이 포함되어 있으므로, 별도의 NVIDIA 드라이버 또는 CUDA 설치가 필요하지 않습니다.

특정 NVIDIA/CUDA 버전 설치가 필요할 경우

Ubuntu 20.04 (NVIDIA VERSION) 이미지 이외에 다른 버전의 이미지를 사용할 경우에는 일반 Ubuntu 이미지를 사용 문서를 참고하세요.

Step 1. GPU 인스턴스 생성​

  1. 카카오클라우드 콘솔 > Compute > Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. 인스턴스 탭에서 [인스턴스 생성] 버튼을 클릭합니다.

  3. 인스턴스 생성에서 아래 항목에 해당하는 인스턴스를 생성한 뒤 [생성] 버튼을 클릭합니다.

    항목설정값
    기본 정보- 이름: 자유롭게 지정
    - 개수: 1개
    이미지Ubuntu 20.04 - NVIDIA 선택
    인스턴스 유형p2i.6xlarge
    볼륨루트 볼륨: 50GB 또는 그 이상
    키 페어{USER_KEYPAIR}
    .pem 형식의 키 파일은 안전하게 보관

Step 2. 퍼블릭 IP 연결​

GPU 인스턴스에 퍼블릭 IP를 연결합니다.

  1. 카카오클라우드 콘솔 > Compute > Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. 위에서 생성한 GPU 인스턴스의 [⋮] 버튼을 클릭한 뒤 [퍼블릭 IP 연결] 버튼을 클릭합니다.
  3. 퍼블릭 IP 연결 설정 팝업창에서 [새로운 퍼블릭 IP를 생성하고 자동으로 할당]을 선택한 뒤 [확인] 버튼을 클릭합니다.
  4. 퍼블릭 IP 칼럼에서 퍼블릭 IP를 확인합니다.

Step 3. cuDNN 설치​

딥 뉴럴 네트워크를 위한 GPU 가속화 라이브러리인 NVIDIA cuDNN(NVIDIA CUDA Deep Neural Network library)을 설치합니다.

  1. cuDNN 파일을 실행하기 위해 해당 인스턴스에 SSH 접속합니다.

    ssh ubuntu@${GPU_PUBLIC_IP} -i ${PRIVATE_KEY}.pem

    #예제) ssh ubuntu@210.100.00.000 -i test.pem
    파라미터유형필수 여부설명
    GPU_PUBLIC_IPString필수GPU 인스턴스의 퍼블릭 IP 주소
    PRIVATE_KEYString필수키 파일

    이미지 SSH 접속 완료

  2. 다음 NVIDIA에서 제공하는 cuDNN 설치 가이드를 확인하여 cuDNN과 CUDA를 설치합니다. 해당 문서는 Ubuntu 20.04 버전에서 cuDNN을 설치하는 방법과 명령어를 안내합니다.

  3. 아래 명령어를 통해 정상 설치된 cuDNN을 확인합니다.

    cat /usr/include/x86_64-linux-gnu/cudnn_version*.h | grep CUDNN_MAJOR

    # define CUDNN_MAJOR 9

    이미지 cuDNN 설치 완료

Type 2. 일반 Ubuntu 이미지를 사용​

카카오클라우드에서 제공하는 NVIDIA 드라이버 프리인스톨 이미지가 아닌 특정 NVIDIA 또는 CUDA 버전이 필요한 경우에는, 일반 Ubuntu 이미지를 사용하여 원하는 NVIDIA 또는 CUDA 버전을 설치할 수 있습니다.

Step 1. GPU 인스턴스 생성​

  1. 카카오클라우드 콘솔 > Compute > Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. 인스턴스 탭에서 [인스턴스 생성] 버튼을 클릭합니다.

  3. 인스턴스 생성에서 아래 항목에 해당하는 인스턴스를 생성한 뒤 [생성] 버튼을 클릭합니다.

    항목설정값
    기본 정보- 이름: 자유롭게 지정
    - 개수: 1개
    이미지Ubuntu 20.04 선택
    인스턴스 유형p2i.6xlarge
    볼륨루트 볼륨: 50GB 또는 그 이상
    키 페어{USER_KEYPAIR}
    .pem 형식의 키 파일은 안전하게 보관

Step 2. 퍼블릭 IP 연결​

GPU 인스턴스에 퍼블릭 IP를 연결합니다.

  1. 카카오클라우드 콘솔 > Compute > Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. 위에서 생성한 GPU 인스턴스의 [⋮] 버튼을 클릭한 뒤 [퍼블릭 IP 연결] 버튼을 클릭합니다.
  3. 퍼블릭 IP 연결 설정 팝업창에서 [새로운 퍼블릭 IP를 생성하고 자동으로 할당]을 선택한 뒤 [확인] 버튼을 클릭합니다.
  4. 퍼블릭 IP 칼럼에서 퍼블릭 IP를 확인합니다.

Step 3. GPU 인스턴스 접속 및 환경 확인​

  1. 키 파일이 위치한 경로로 이동합니다.

  2. 위에서 생성한 퍼블릭 IP에 SSH로 접속하여 정상 동작을 확인합니다.

    ssh ubuntu@${GPU_PUBLIC_IP} -i ${PRIVATE_KEY}.pem
    파라미터유형필수 여부설명
    GPU_PUBLIC_IPString필수호스트 퍼블릭 IP 주소
    PRIVATE_KEYString필수키 파일
  3. GPU 인스턴스의 이미지 정보 및 NVIDIA 장치 정보를 확인합니다.

    cat /etc/*release
    lspci | grep -i NVIDIA

Step 4. NVIDIA 드라이버 설치​

GPU 환경을 구성하기 위해 필요한 드라이버와 라이브러리를 확인하여 설치합니다.

GPU TypeNVIDIA 버전CUDA 버전cuDNN
NVIDIA A100450.80.02 이상CUDA Toolkit 11.4 이상8.1 이상
안내

다른 환경에서 가이드를 진행 중이거나 다른 특정 버전이 요구되는 경우, CUDA Toolkit Archive에서 필요한 버전을 다운로드할 수 있습니다.

  1. 패키지 리스트를 업데이트합니다.

    sudo apt-get update
    sudo apt-get -y upgrade

    이미지 패키지 리스트 업데이트 완료

  2. Ubuntu의 드라이버 탐색 기능을 사용하기 위해 ubuntu-drivers-common을 설치합니다. 기존 NVIDIA 드라이버가 설치되어 있다면 먼저 현재 상태를 확인한 후 필요한 경우에만 변경합니다.

    sudo apt install -y ubuntu-drivers-common
    sudo ubuntu-drivers list --gpgpu
  3. Ubuntu에서 권장하는 NVIDIA 드라이버를 설치합니다.

    sudo ubuntu-drivers install --gpgpu
  4. 설치된 드라이버를 적용하기 위해 인스턴스를 재부팅합니다. 일정 시간이 흐른 뒤, 다시 접속할 수 있습니다.

    sudo reboot
  5. 위에서 생성한 퍼블릭 IP에 SSH로 접속하여 정상 동작을 확인합니다.

    ssh ubuntu@${GPU_PUBLIC_IP} -i ${PRIVATE_KEY}.pem
    파라미터유형필수 여부설명
    GPU_PUBLIC_IPString필수호스트 퍼블릭 IP 주소
    PRIVATE_KEYString필수키 파일
  6. 아래 명령어를 입력하여 설치된 결과를 확인합니다.

    nvidia-smi
    # 정상적인 결과:
    # Thu Nov 3 02:21:13 2022
    # +-----------------------------------------------------------------------------+
    # | NVIDIA-SMI <version> Driver Version: <version> CUDA Version: <version> |
    # |-------------------------------+----------------------+----------------------+
    # | ...

    이미지 정상 설치 시

Step 5. NVIDIA CUDA Toolkit 설치​

NVIDIA CUDA Toolkit은 엔비디아 GPU 가속화 애플리케이션 개발 플랫폼입니다. CUDA Toolkit에는 GPU 가속화 라이브러리, 디버깅 및 최적화 도구, 컴파일러 그리고 애플리케이션을 배포하기 위한 CUDA 런타임이 포함됩니다. 자세한 설명은 NVIDIA 공식 홈페이지를 참고하세요.

CUDA 설치 여부 확인​

nvidia-smi 명령어로 NVIDIA GPU 드라이버의 정상 동작 여부를 확인합니다. 이후 nvcc -V 명령어로 CUDA Toolkit 설치 여부를 확인합니다. CUDA Toolkit이 이미 설치되어 정상적으로 확인되는 경우 Step 6을 생략하고 cuDNN 설치 단계로 이동합니다.

GPU 드라이버 확인:

nvidia-smi

CUDA Toolkit 확인:

CUDA 설치 여부 확인
nvcc -V

# nvcc: NVIDIA (R) Cuda compiler driver
# Copyright (c) 2005-2021 NVIDIA Corporation
# ...

Step 6. CUDA 설치​

  1. Ubuntu 버전에 맞는 NVIDIA CUDA 저장소를 등록합니다.

    source /etc/os-release
    CUDA_DISTRO="ubuntu${VERSION_ID//./}"
    wget "https://developer.download.nvidia.com/compute/cuda/repos/${CUDA_DISTRO}/x86_64/cuda-keyring_1.1-1_all.deb"
    sudo dpkg -i cuda-keyring_1.1-1_all.deb
  2. CUDA Toolkit을 설치합니다.

    sudo apt update
    sudo apt install -y cuda-toolkit-12-6
  3. 환경 변수를 설정하고 CUDA Toolkit을 확인합니다.

    export PATH=/usr/local/cuda-12.6/bin:$PATH
    nvcc -V

Step 7. cuDNN 설치​

딥 뉴럴 네트워크를 위한 GPU 가속화 라이브러리인 NVIDIA cuDNN(NVIDIA CUDA Deep Neural Network library)을 설치합니다. 자세한 설명은 NVIDIA 공식 홈페이지를 참고하세요.

  1. NVIDIA cuDNN 페이지에 접속합니다.

  2. 설치할 cuDNN 버전을 선택한 후, 아래 경로를 따라 설치합니다.

    • 경로: Archive of Previous Releases > cuDNN 버전 > Linux > x86_64 > Ubuntu > deb (network)
    • GPU 인스턴스에 SSH 접속한 상태에서, 페이지에서 제공되는 명령어를 실행하여 설치합니다.
    정보

    cuDNN 9.x의 CUDA 11.x용 동적 라이브러리는 CUDA 11.4 환경에서도 사용할 수 있습니다. 단, 일부 기능이나 정적 링크 구성은 CUDA 11.5 이상 또는 CUDA 11.8을 요구할 수 있으므로, 사용하려는 프레임워크와 NVIDIA cuDNN Support Matrix를 함께 확인하세요. 일반적으로 cuDNN 9.10.2를 권장하며, 프레임워크 호환성이 필요한 경우 cuDNN 9.6.0 또는 cuDNN 8.x 버전을 선택할 수 있습니다. 특히 TensorFlow 2.x 일부 버전은 cuDNN 8.x 환경에서 더 안정적으로 동작할 수 있으므로, 사용 중인 프레임워크에 맞는 버전을 선택하세요.

  1. cuDNN이 설치되었는지 확인합니다.

    cat /usr/include/x86_64-linux-gnu/cudnn_version*.h | grep CUDNN_MAJOR

    # 출력 예시
    # define CUDNN_MAJOR 9