GKE의 GPU 정보


이 페이지에서는 사용 사례, 지원되는 기능 및 GPU 유형, Autopilot과 Standard 모드 사이의 차이점을 포함하여 Google Kubernetes Engine(GKE)의 GPU에 대해 설명합니다. 워크로드에서 GPU를 연결하고 사용하는 방법은 Autopilot에서 GPU 워크로드 배포 또는 Standard 노드 풀에서 GPU 실행을 참조하세요.

GKE의 GPU 가용성

GKE Autopilot 및 Standard에서는 클러스터의 노드에 GPU 하드웨어를 연결한 후 해당 노드에서 실행 중인 컨테이너화된 워크로드에 GPU 리소스를 할당할 수 있습니다. 이러한 가속기를 사용하여 다음과 같은 리소스 집약적인 태스크를 수행할 수 있습니다.

  • 머신러닝(ML) 인터페이스 및 학습
  • 대규모 데이터 처리

GKE에 사용 가능한 GPU 하드웨어는 컴퓨팅 워크로드를 위한 Compute Engine GPU의 일부입니다. GKE는 워크로드의 노드 GPU 리소스를 사용 효율을 향상시킬 수 있는 시간 공유멀티 인스턴스 GPU와 같은 몇 가지 GPU 특정 기능을 제공합니다.

사용 가능한 특정 하드웨어는 클러스터의 Compute Engine 리전 또는 영역에 따라 달라집니다. 자세한 가용성 정보는 GPU 리전 및 영역을 참조하세요.

GPU 할당량

GPU 할당량은 Google Cloud 프로젝트에서 실행할 수 있는 최대 GPU 수입니다. GKE 클러스터에서 GPU를 사용하려면 프로젝트에 GPU 할당량이 충분해야 합니다.

GPU 할당량은 클러스터에서 실행하려는 전체 GPU 수와 최소한 동일해야 합니다. 클러스터 자동 확장을 사용 설정할 경우, 노드당 GPU 수만큼 곱해진 최대 클러스터 노드 수와 최소한 동일 개수 이상의 GPU 할당량을 요청해야 합니다.

예를 들어 노드당 2개의 GPU를 실행하는 노드가 3개 포함된 클러스터를 만들 경우, 프로젝트에는 최소한 6개의 GPU 할당량이 필요합니다.

추가 GPU 할당량을 요청하려면 gpus를 측정항목으로 사용하여 높은 할당량 한도 요청의 안내를 따르세요.

Autopilot 및 Standard의 GPU 지원

GPU는 Autopilot 및 Standard 클러스터에서 사용할 수 있습니다. 다음 표에서는 Autopilot 및 Standard GPU 지원 간 차이에 대해 설명합니다.

설명 오토파일럿 표준
GPU 하드웨어 가용성
  • NVIDIA T4
  • NVIDIA A100
Compute Engine에서 지원되는 모든 GPU 유형
GPU 선택 포드 사양에 GPU 수량 및 유형을 요청합니다. Autopilot이 안정적인 드라이버를 설치하고 노드를 관리합니다.
  1. 특정 GPU 유형 및 해당 Compute Engine 머신 유형으로 노드 풀을 만들고 설치할 드라이버를 선택합니다.
  2. 자동 설치를 사용하지 않은 경우 노드에 GPU 드라이버를 수동으로 설치합니다.
  3. 포드 사양에서 GPU 수량 요청

자세한 내용은 Standard 노드 풀에서 GPU 실행

추가 GPU 기능 해당 사항 없음
가격 책정 Autopilot GPU 포드 가격 책정 Compute Engine GPU 가격 책정

Autopilot에서 GKE는 드라이버 설치, 노드 확장, 포드 격리, 노드 프로비저닝을 관리합니다. 다음과 같이 노드에 대해 원하는 유연성 및 제어 수준에 따라 GPU에 대해 클러스터 모드를 선택하는 것이 좋습니다.

  • 노드를 관리할 필요 없이 GPU 기반 워크로드를 배포하는 데 집중하려는 경우 그리고 사용 가능한 GPU 유형이 요구에 적합하면 Autopilot을 사용합니다.
  • 노드, 드라이버 버전, 확장, 격리, 기본 머신을 직접 관리하길 원하거나 시간 공유 및 멀티 인스턴스 GPU와 같은 기능이 필요하면 Standard를 사용합니다.

GKE의 GPU 기능

GPU 워크로드의 리소스 사용량을 최적하는 데 사용할 수 있는 추가 기능이 GKE에서 제공되므로 노드에서 GPU 리소스가 낭비되지 않습니다. 기본적으로 사용 가능한 GPU 중 일부만 컨테이너에 필요하거나 컨테이너에서 항상 리소스가 사용되지 않더라도 Kubernetes에서는 컨테이너에 대해 전체 단위를 사용하는 GPU 할당만 지원됩니다.

다음 기능은 활용되지 않는 GPU 리소스 양을 줄이기 위해 GKE에서 제공됩니다.

GPU 기능
시간 공유 GPU

사용 가능 대상: Standard

단일 GPU를 한 노드에서 여러 컨테이너에 대한 여러 단위로 표현합니다. GPU 드라이버가 컨텍스트를 전환하고 시간 경과에 따라 필요한 대로 전체 GPU 리소스를 각 할당된 컨테이너에 할당합니다.

멀티 인스턴스 GPU

사용 가능 대상: Standard

단일 GPU를 한 노드의 컨테이너에 개별 GPU로 할당될 수 있는 최대 7개의 하드웨어 구분 인스턴스로 분할합니다. 각 할당된 컨테이너에 해당 인스턴스에 사용 가능한 리소스가 제공됩니다.

NVIDIA CUDA-X 라이브러리 정보

CUDA는 GPU를 위한 NVIDIA의 병렬 컴퓨팅 플랫폼이자 프로그래밍 모델입니다. CUDA 애플리케이션을 사용하려면 사용하는 이미지에 라이브러리가 있어야 합니다. NVIDIA CUDA-X 라이브러리를 추가하려면 다음 방법 중 하나를 사용합니다.

  • 권장: NVIDIA CUDA-X 라이브러리가 사전 설치된 이미지를 사용합니다. 예를 들어 Deep Learning Containers를 사용할 수 있습니다. 이 컨테이너는 주요 데이터 과학 프레임워크, NVIDIA CUDA-X 라이브러리, 도구를 사전 설치합니다. 또는 NVIDIA CUDA 이미지에는 NVIDIA CUDA-X 라이브러리만 포함됩니다.
  • 자체 이미지를 빌드하고 사용 이 경우 컨테이너 사양의 LD_LIBRARY_PATH 환경 변수에 다음 값을 포함합니다.
    1. /usr/local/cuda-CUDA_VERSION/lib64: 노드의 NVIDIA CUDA-X 라이브러리 위치입니다. CUDA_VERSION을 사용한 CUDA-X 이미지 버전으로 바꾸세요. 일부 버전에는 /usr/local/nvidia/bin의 디버그 유틸리티도 포함됩니다. 자세한 내용은 DockerHub의 NVIDIA CUDA 이미지를 참조하세요.
    2. /usr/local/nvidia/lib64: NVIDIA 기기 드라이버의 위치입니다.

CUDA 버전에 필요한 최소 GPU 드라이버 버전을 확인하려면 CUDA Toolkit and Compatible Driver Versions를 참조하세요. 노드에서 실행 중인 GKE 패치 버전에 선택한 CUDA 버전과 호환되는 GPU 드라이버 버전이 포함되어 있는지 확인합니다. GKE 버전과 연결된 GPU 드라이버 버전 목록은 GKE 현재 버전 표에 연결된 해당 Container-Optimized OS 페이지를 참조하세요.

Autopilot 클러스터에서 GKE는 드라이버 버전 선택 및 설치를 관리합니다.

GPU 노드 모니터링

GKE 클러스터에 시스템 측정항목이 사용 설정된 경우 GPU 워크로드 성능을 모니터링하도록 Cloud Monitoring에서 다음 측정항목을 제공합니다.

  • 가동 주기(container/accelerator/duty_cycle): 이전 샘플 기간(10초) 중에 가속기가 실제로 처리를 수행한 시간의 백분율입니다. 1~100 사이입니다.
  • 메모리 사용량(container/accelerator/memory_used): 할당된 가속기 메모리 양(바이트)입니다.
  • 메모리 용량(container/accelerator/memory_total): 총 가속기 메모리 용량(바이트)입니다.

사전 정의된 대시보드를 사용해서 GPU 노드가 있는 클러스터를 모니터링할 수 있습니다. 자세한 내용은 관측 가능성 측정항목 보기를 참조하세요. 클러스터 및 리소스 모니터링에 대한 일반적인 내용은 GKE의 관측 가능성을 참조하세요.

워크로드의 사용량 측정항목 보기

Google Cloud 콘솔의 워크로드 대시보드에서 워크로드 GPU 사용량 측정항목을 봅니다.

워크로드 GPU 사용량을 보려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 워크로드 페이지로 이동합니다.

    워크로드로 이동
  2. 워크로드를 선택합니다.

워크로드 대시보드에는 GPU 메모리 사용량 및 용량, GPU 사용 주기에 대한 차트가 표시됩니다.

다음 단계