연결된 GPU가 있는 VM 만들기


Compute Engine은 가상 머신(VM)에 추가할 수 있는 그래픽 처리 장치(GPU)를 제공합니다. 이 GPU를 사용하여 VM에서 머신러닝 및 데이터 처리와 같은 특정 워크로드를 가속화할 수 있습니다.

이 페이지에서는 연결된 GPU가 있는 VM을 만드는 방법을 설명합니다. 기존 VM에 GPU를 추가하려면 GPU 추가 또는 삭제를 참조하세요.

GPU로 수행할 수 있는 작업과 사용 가능한 GPU 하드웨어 유형에 대한 자세한 내용은 Compute Engine의 GPU를 참조하세요.

시작하기 전에

  • 이 가이드의 명령줄 예시를 사용하려면 우선 다음 작업을 수행해야 합니다.
    1. gcloud 명령줄 도구를 최신 버전으로 설치하거나 업데이트합니다.
    2. 기본 리전 및 영역을 설정합니다.
  • 이 가이드의 API 예를 사용하려면 API 액세스를 설정합니다.
  • VM에서 GPU를 사용하는 데 드는 비용을 알아보려면 Compute Engine의 GPU 가격 책정을 참조하세요.
  • GPU를 사용하는 VM의 제한사항을 참조하세요.
  • GPU 할당량을 확인합니다.
  • 운영체제 이미지를 선택합니다.
    • 머신러닝을 위해 GPU를 사용하는 경우 VM을 위한 Deep Learning VM Image를 사용할 수 있습니다. Deep Learning VM Image에는 GPU 드라이버가 사전 설치되어 있으며 TensorFlow 및 PyTorch와 같은 패키지가 포함됩니다. 일반적인 GPU 워크로드에 Deep Learning VM Image를 사용해도 됩니다. 사용 가능한 이미지 및 이미지에 설치된 패키지에 대한 자세한 내용은 이미지 선택을 참조하세요.
    • 공개 이미지커스텀 이미지를 사용해도 되지만, 일부 이미지의 경우 고유 드라이버가 필요하거나 이 문서에서 다루지 않는 설치 프로세스가 필요할 수 있습니다. 사용할 이미지에 적합한 드라이버를 확인해야 합니다. 드라이버를 설치하는 단계는 GPU 드라이버 설치를 참조하세요.

GPU 할당량 확인

Compute Engine 시스템과 사용자를 보호하기 위해 새 프로젝트에는 지원되는 모든 영역에서 생성할 수 있는 총 GPU 수를 제한하는 글로벌 GPU 할당량이 적용됩니다.

regions describe 명령어를 사용하여 GPU가 있는 VM을 만들려는 리전에서 GPU 할당량이 충분한지 확인할 수 있습니다.

gcloud compute regions describe REGION

REGION을 GPU 할당량을 확인하려는 리전으로 바꿉니다.

추가 GPU 할당량이 필요한 경우 할당량 상향 조정을 요청합니다. GPU 할당량을 요청할 때는 각 리전에서 만들려는 GPU 유형에 대한 할당량을 요청하고 모든 영역의 모든 유형의 GPU 총 수량에 대한 추가 전역 할당량을 요청해야 합니다.

프로젝트에 기존 결제 내역이 있는 경우에는 요청을 제출하면 할당량이 자동으로 배정됩니다.

개요

연결된 GPU가 있는 VM을 만들려면 다음 단계를 완료합니다.

  1. VM을 만듭니다. VM을 만드는 데 사용되는 방법은 GPU 모델에 따라 달라집니다.

  2. VM에 GPU를 사용하기 위해서는 VM에 GPU 드라이버를 설치해야 합니다.

  3. NVIDIA® GRID 가상 워크스테이션을 사용 설정한 경우에는 가상 워크스테이션용 GRID® 드라이버를 설치합니다.

연결된 GPU가 있는 VM 만들기(A100 GPU)

이 섹션에서는 연결된 NVIDIA® A100 GPU가 있는 VM을 만드는 방법을 설명합니다. 다른 GPU 유형에 대해서는 연결된 GPU가 있는 VM 만들기(다른 GPU 유형)을 참조하세요.

Console

  1. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 인스턴스 만들기를 클릭합니다.

  3. 인스턴스 이름을 지정합니다. 리소스 이름 지정 규칙을 참조합니다.

  4. GPU를 사용할 수 있는 리전 및 영역을 선택합니다. 사용 가능한 A100 GPU 영역 목록을 참조하세요.

  5. 머신 구성 섹션에서 다음 단계를 완료합니다.

    1. 머신 계열에서 GPU를 클릭합니다.
    2. 계열에서 A2를 선택합니다.
    3. 머신 유형에서 원하는 A2 머신 유형을 선택합니다.

      머신 구성 섹션.

    4. CPU 플랫폼 및 GPU 섹션을 확장합니다.

      GPU 구성 섹션.

    5. CPU 플랫폼 및 GPU에서 GPU 유형GPU 수를 검토합니다.

  6. 부팅 디스크를 구성하려면 부팅 디스크 섹션에서 변경을 클릭합니다. 그러면 부팅 디스크 구성 페이지가 열립니다.

  7. 부팅 디스크 구성 페이지에서 다음 단계를 완료합니다.

    1. 공개 이미지 탭에서 지원되는 Compute Engine 이미지 또는 Deep Learning VM Image를 선택합니다.
    2. 부팅 디스크 크기를 최소 40GB 이상으로 지정합니다.
    3. 저장을 클릭하여 부팅 디스크 옵션을 확인합니다.
  8. 필요한 다른 VM 설정을 구성합니다. 예를 들어 선점 설정을 변경하여 VM을 선점형 인스턴스로 구성할 수 있습니다. 이렇게 하면 VM 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

  9. 만들기 버튼을 클릭하여 VM을 만들고 시작합니다.

gcloud

VM을 만들고 시작하려면 다음 플래그와 함께 gcloud compute instances create 명령어를 사용합니다. GPU가 있는 VM은 라이브 마이그레이션을 지원하지 않으므로 --maintenance-policy TERMINATE 플래그를 설정해야 합니다.

--preemptible은 VM을 선점형 인스턴스로 구성하는 선택적 플래그입니다. 이렇게 하면 VM 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

다음을 바꿉니다.

  • VM_NAME: 새 VM의 이름입니다.
  • MACHINE_TYPE: VM에 대해 선택한 A2 머신 유형입니다.
  • ZONE: VM의 영역입니다. 이 영역은 A100 GPU를 지원해야 합니다.
  • GPU를 지원하는 IMAGE 또는 IMAGE_FAMILY입니다. 다음 중 하나를 지정합니다.

    • IMAGE: 공개 이미지의 필수 버전입니다. 예를 들면 --image debian-10-buster-v20200309입니다.
    • IMAGE_FAMILY: 이미지 계열입니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어 --image-family debian-10을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.

    커스텀 이미지 또는 Deep Learning VM Image를 지정할 수도 있습니다.

  • IMAGE_PROJECT: 이미지 계열이 속한 Compute Engine 이미지 프로젝트입니다. 커스텀 이미지 또는 Deep Learning VM Image를 사용하는 경우 해당 이미지가 속하는 프로젝트를 지정합니다.

API

API에서 instances.insert 메서드에 대해 POST 요청을 만듭니다. GPU가 있는 VM은 라이브 마이그레이션을 지원하지 않으므로 onHostMaintenance 매개변수를 TERMINATE로 설정해야 합니다.

"preemptible": true는 VM을 선점형 인스턴스로 구성하는 선택적 매개변수입니다. 이렇게 하면 VM 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

다음을 바꿉니다.

  • VM_NAME: VM의 이름입니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM의 영역입니다. 이 영역은 A100 GPU를 지원해야 합니다.
  • MACHINE_TYPE: VM에 대해 선택한 A2 머신 유형입니다.
  • IMAGE 또는 IMAGE_FAMILY: 다음 중 하나를 지정합니다.

    • IMAGE: 공개 이미지의 필수 버전입니다. 예를 들면 "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"입니다.
    • IMAGE_FAMILY: 이미지 계열입니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어 "sourceImage": "projects/debian-cloud/global/images/family/debian-10"을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.

    커스텀 이미지 또는 Deep Learning VM Image를 지정할 수도 있습니다.

  • IMAGE_PROJECT: 이미지 계열이 속한 Compute Engine 이미지 프로젝트입니다. 커스텀 이미지 또는 Deep Learning VM Image를 사용하는 경우 해당 이미지가 속하는 프로젝트를 지정합니다.

  • DISK_SIZE: 부팅 디스크의 크기(GB 단위)입니다.

  • NETWORK: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하려면 default를 지정합니다.

다음: 시스템에서 기기를 사용할 수 있도록 VM에 GPU 드라이버를 설치합니다. A100 GPU의 경우 CUDA 11이 필요합니다.

예시(A100 GPU)

이 예시에서는 gcloud 명령줄 도구를 사용하여 NVIDIA® A100 GPU가 연결된 VM을 만듭니다. 하지만 Google Cloud Console 또는 Compute Engine API를 사용하여 VM을 만들 수도 있습니다.

다음 예시에서는 다음 이미지를 사용하여 VM을 만드는 방법을 보여줍니다.

DLVM 이미지

NVIDIA 드라이버 및 CUDA 라이브러리가 사전 설치되어 있기 때문에 DLVM 이미지를 사용하는 것이 가장 쉬운 시작 방법입니다.

이러한 이미지는 성능 최적화도 제공합니다.

NVIDIA® A100에 지원되는 DLVM 이미지는 다음과 같습니다.

  • common-cu110: NVIDIA 드라이버 및 CUDA 사전 설치
  • tf-ent-1-15-cu110: NVIDIA 드라이버, CUDA, TensorFlow Enterprise 1.15.3 사전 설치
  • tf2-ent-2-1-cu110: NVIDIA 드라이버, CUDA, TensorFlow Enterprise 2.1.1 사전 설치
  • tf2-ent-2-3-cu110: NVIDIA 드라이버, CUDA, TensorFlow Enterprise 2.3.1 사전 설치
  • pytorch-1-6-cu110: NVIDIA 드라이버, CUDA, Pytorch 1.6

사용 가능한 DLVM 이미지와 이미지에 설치되어 있는 패키지에 대한 자세한 내용은 Deep Learning VM 문서를 참조하세요.

  1. tf2-ent-2-3-cu110 이미지 및 a2-highgpu-1g 머신 유형을 사용하여 VM을 만듭니다. 이 예시에서는 부팅 디스크 크기 및 범위와 같은 선택적 플래그가 지정되었습니다.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-c \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family tf2-ent-2-3-cu110 \
       --image-project deeplearning-platform-release \
       --boot-disk-size 200GB \
       --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \
       --scopes https://www.googleapis.com/auth/cloud-platform
    

    다음을 바꿉니다.

    • VM_NAME: VM의 이름입니다.
    • PROJECT_ID: 프로젝트 ID입니다.
  2. 앞의 예시 명령어는 VM에 대해 AI Platform Notebook도 생성합니다. 메모장에 액세스하려면 Google Cloud Console에서 AI Platform 페이지로 이동합니다.

    AI Platform 페이지로 이동

공개 또는 커스텀 이미지

Compute Engine에서 제공되는 공개 이미지 또는 커스텀 이미지를 사용하는 연결된 GPU가 있는 VM을 만들 수 있습니다.

To create a VM using the most recent, non-deprecated image from the CentOS 7 이미지 계열에서 지원 중단되지 않은 최신 이미지 및 a2-highgpu-1g 머신 유형을 사용하여 VM을 만들려면 다음 단계를 완료합니다.

  1. VM을 만듭니다. 이 예시에서는 부팅 디스크 유형 및 크기와 같은 선택적 플래그도 지정됩니다.

    gcloud compute instances create VM_NAME \
        --project PROJECT_ID \
        --zone us-central1-c \
        --machine-type a2-highgpu-1g \
        --maintenance-policy TERMINATE --restart-on-failure \
        --image-family centos-7 \
        --image-project centos-cloud \
        --boot-disk-size 200GB \
        --boot-disk-type pd-ssd
    

    다음을 바꿉니다.

    • VM_NAME: VM의 이름입니다.
    • PROJECT_ID: 프로젝트 ID입니다.
  2. NVIDIA 드라이버 및 CUDA를 설치합니다. NVIDIA® A100 GPU의 경우 CUDA 버전 11 이상이 필요합니다.

COS

Container-Optimized(COS) 이미지를 사용하는 연결된 GPU가 있는 VM을 만들 수 있습니다.

cos-85-lts 이미지 및 a2-highgpu-1g 머신 유형을 사용하여 VM을 만들려면 로컬 클라이언트에서 다음 단계를 완료합니다.

  1. 구성 파일을 만듭니다.

    mkdir /tmp/cloud-init.yaml
  2. /tmp/cloud-init.yaml 파일에 구성 정보를 추가합니다.

    이 정보는 Container-Optimized VM을 설정하는 데 필요하며, VM이 부팅될 때 NVIDIA 드라이버와 CUDA도 설치합니다.

    cat <<'EOF' > /tmp/cloud-init.yaml
    #cloud-config
    
    write_files:
      - path: /etc/systemd/system/cos-gpu-installer.service
        permissions: 0755
        owner: root
        content: |
          [Unit]
          Description=Run the GPU driver installer container
          Requires=network-online.target gcr-online.target
          After=network-online.target gcr-online.target
    
          [Service]
          User=root
          Type=oneshot
          RemainAfterExit=true
          Environment=INSTALL_DIR=/var/lib/nvidia
          ExecStartPre=/bin/mkdir -p ${INSTALL_DIR}
          ExecStartPre=/bin/mount --bind ${INSTALL_DIR} ${INSTALL_DIR}
          ExecStartPre=/bin/mount -o remount,exec ${INSTALL_DIR}
          ExecStart=/usr/bin/docker run --privileged \
                                        --net=host  \
                                        --pid=host \
                                        --volume ${INSTALL_DIR}:/usr/local/nvidia \
                                        --volume /dev:/dev \
                                        --volume /:/root \
                                        --env NVIDIA_DRIVER_VERSION=450.80.02 \
                                        gcr.io/cos-cloud/cos-gpu-installer:v20200701
          StandardOutput=journal+console
          StandardError=journal+console
    
    runcmd:
      - systemctl daemon-reload
      - systemctl enable cos-gpu-installer.service
      - systemctl start cos-gpu-installer.service
    
    EOF
    
  3. cos-85-lts 이미지 계열 및 a2-highgpu-1g를 사용하여 Container-Optimized VM을 만듭니다.

    -metadata-from-file user-data 플래그를 사용하여 구성 파일을 제공해야 합니다.

    이 예시에서는 선택적 플래그 부팅 디스크 크기도 지정됩니다.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-a \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family cos-85-lts \
       --image-project cos-cloud \
       --boot-disk-size 200GB \
       --metadata-from-file user-data=/tmp/cloud-init.yaml
    

    다음을 바꿉니다.

    • VM_NAME: VM의 이름입니다.
    • PROJECT_ID: 프로젝트 ID입니다.

    VM이 생성된 다음 VM에 로그인하고 다음 명령어를 실행하여 NVIDIA 드라이버가 설치되었는지 확인합니다.

    /var/lib/nvidia/bin/nvidia-smi

    드라이버를 설치하려면 약 5분 정도 걸립니다.

멀티 인스턴스 GPU(A100)

멀티 인스턴스 GPU는 동일한 VM 내의 단일 NVIDIA A100 GPU를 최대 7개까지 독립적인 GPU 인스턴스로 분할합니다. 이러한 인스턴스는 동시에 실행되며 각각 고유의 메모리, 캐시, 스트리밍 멀티 프로세서를 포함합니다. 이 설정에 따라 A100 GPU는 이전 GPU 모드보다 최대 7배 높은 활용도로 보장된 서비스 품질(QoS)을 제공합니다.

멀티 인스턴스 GPU 사용에 대한 자세한 내용은 NVIDIA 멀티 인스턴스 GPU 사용자 가이드를 참조하세요.

멀티 인스턴스 GPU를 만들려면 다음 단계를 완료합니다.

  1. 연결된 A100 GPU가 있는 VM을 만듭니다.

  2. NVIDIA GPU 드라이버를 사용 설정합니다.

  3. 멀티 인스턴스 GPU를 사용 설정하고 VM을 재부팅합니다.

    sudo nvidia-smi -mig 1
    sudo reboot
    
  4. 사용 가능한 멀티 인스턴스 GPU 형태를 검토합니다.

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    출력은 다음과 비슷합니다.

    +--------------------------------------------------------------------------+
    | GPU instance profiles:                                                   |
    | GPU   Name          ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                           Free/Total   GiB              CE    JPEG  OFA  |
    |==========================================================================|
    |   0  MIG 1g.5gb     19     7/7        4.75       No     14     0     0   |
    |                                                          1     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 2g.10gb    14     3/3        9.75       No     28     1     0   |
    |                                                          2     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 3g.20gb     9     2/2        19.62      No     42     2     0   |
    |                                                          3     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 4g.20gb     5     1/1        19.62      No     56     2     0   |
    |                                                          4     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 7g.40gb     0     1/1        39.50      No     98     5     0   |
    |                                                          7     1     1   |
    +--------------------------------------------------------------------------+
    
  5. 원하는 멀티 인스턴스 GPU를 만듭니다. 다음 예시에서는 9에 해당하는 이 형태의 프로파일 ID를 사용하여 MIG 3g.20gb GPU 인스턴스를 2개 만듭니다.

    sudo nvidia-smi mig -i 0 --create-gpu-instance 9,9
    
  6. 2개의 멀티 인스턴스 GPU가 생성되었는지 확인하고 ID를 가져옵니다.

    sudo nvidia-smi mig -lgi
    

    출력은 다음과 비슷합니다.

    +----------------------------------------------------+
    | GPU instances:                                     |
    | GPU   Name          Profile  Instance   Placement  |
    |                       ID       ID       Start:Size |
    |====================================================|
    |   0  MIG 3g.20gb       9        1          0:4     |
    +----------------------------------------------------+
    |   0  MIG 3g.20gb       9        2          4:4     |
    +----------------------------------------------------+
    
  7. Instance IDs를 사용하여 컴퓨팅 워크로드에 대해 멀티 인스턴스 GPU를 사용 설정합니다.

    sudo nvidia-smi mig -i 0 --create-compute-instance -gi 1,2
    
  8. GPU 장치를 컴퓨팅 워크로드에 사용할 수 있는지 확인합니다.

    sudo nvidia-smi
    

    출력은 다음과 비슷합니다.

    Fri Oct 30 20:23:30 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  A100-SXM4-40GB      Off  | 00000000:00:04.0 Off |                   On |
    | N/A   39C    P0    53W / 400W |     22MiB / 40537MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |                      | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    +------------------+----------------------+-----------+-----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

연결된 GPU가 있는 VM 만들기(다른 GPU 유형)

Google Cloud Console, gcloud 명령줄 도구, Compute Engine API를 사용하여 하나 이상의 GPU가 있는 VM을 만들 수 있습니다.

이 섹션에서는 다음 GPU 유형을 사용하여 VM을 만드는 방법을 설명합니다.

  • NVIDIA® T4: nvidia-tesla-t4
  • NVIDIA® T4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-t4-vws
  • NVIDIA® V100: nvidia-tesla-v100
  • NVIDIA® P100: nvidia-tesla-p100.
  • NVIDIA® P100 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p100-vws

  • NVIDIA® P4: nvidia-tesla-p4

  • NVIDIA® P4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p4-vws

  • NVIDIA® K80: nvidia-tesla-k80

Console

  1. Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 인스턴스 만들기를 클릭합니다.

  3. 인스턴스 이름을 지정합니다. 리소스 이름 지정 규칙을 참조합니다.

  4. 리전 및 영역을 선택합니다. 사용할 수 있는 영역 목록은 GPU 가용 영역을 참조하세요.

  5. 머신 구성 페이지에서 다음 단계를 완료합니다.

    1. 계열에서 N1을 선택합니다.
    2. 머신 유형에서 원하는 N1 머신 유형을 선택합니다. 필요할 경우 커스텀 머신 유형 설정을 지정할 수도 있습니다.
    3. CPU 플랫폼 및 GPU 섹션을 확장합니다.
    4. GPU 추가를 클릭합니다.

      머신 구성 섹션.

    5. GPU 유형GPU 수를 지정합니다.
    6. GPU 모델에서 가상 워크스테이션이 지원되고 이 VM에서 그래픽 집중 워크로드를 실행하려는 경우에는 가상 워크스테이션 사용 설정(NVIDIA GRID)을 선택합니다.

      NVIDIA® GRID 가상 워크스테이션에 대한 자세한 내용은 그래픽 워크로드를 위한 NVIDIA® GRID® GPU를 참조하세요.

      GPU 구성 섹션.

  6. 운영체제를 선택하려면 부팅 디스크 섹션에서 변경을 클릭합니다. 그러면 부팅 디스크 구성 페이지가 열립니다.

  7. 부팅 디스크 구성 페이지에서 다음 단계를 완료합니다.

    1. 공개 이미지 탭에서 지원되는 Compute Engine 이미지 또는 Deep Learning VM Image를 선택합니다.
    2. 부팅 디스크 크기를 최소 40GB 이상으로 지정합니다.
    3. 저장을 클릭하여 부팅 디스크 옵션을 확인합니다.
  8. 필요에 따라 다른 인스턴스 설정을 구성합니다. 예를 들어 선점 가능성 설정을 변경하여 인스턴스를 선점형 인스턴스로 구성할 수 있습니다. 이를 사용하면 인스턴스 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

  9. 만들기 버튼을 클릭하여 VM을 만들고 시작합니다.

gcloud

VM을 만들고 시작하려면 다음 플래그와 함께 gcloud compute instances create 명령어를 사용합니다.

--preemptible은 VM을 선점형 인스턴스로 구성하는 선택적 플래그입니다. 이렇게 하면 VM 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

다음을 바꿉니다.

  • VM_NAME: 새 VM의 이름입니다.
  • MACHINE_TYPE: VM에 대해 선택한 머신 유형입니다.
  • ZONE: VM의 영역입니다. 이 영역은 GPU 유형을 지원해야 합니다.
  • GPU를 지원하는 IMAGE 또는 IMAGE_FAMILY입니다. 다음 중 하나를 지정합니다.

    • IMAGE: 공개 이미지의 필수 버전입니다. 예를 들면 --image debian-10-buster-v20200309입니다.
    • IMAGE_FAMILY: 이미지 계열입니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어 --image-family debian-10을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.

    커스텀 이미지 또는 Deep Learning VM Image를 지정할 수도 있습니다.

  • IMAGE_PROJECT: 이미지 계열이 속한 Compute Engine 이미지 프로젝트입니다. 커스텀 이미지 또는 Deep Learning VM Image를 사용하는 경우 해당 이미지가 속하는 프로젝트를 지정합니다.

  • ACCELERATOR_COUNT: VM에 추가하려는 GPU 수입니다. VM의 머신 유형을 기준으로 한 GPU 한도 목록은 Compute Engine의 GPU를 참조하세요.

  • ACCELERATOR_TYPE: 사용하려는 GPU 모델입니다. 이 VM에서 그래픽 집중 워크로드를 실행하려는 경우 가상 워크스테이션 모델 중 하나를 사용합니다.

    다음 값 중 하나를 선택합니다.

    • NVIDIA® T4: nvidia-tesla-t4
    • NVIDIA® T4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-t4-vws
    • NVIDIA® P4: nvidia-tesla-p4
    • NVIDIA® P4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p4-vws
    • NVIDIA® P100: nvidia-tesla-p100
    • NVIDIA® P100 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p100-vws
    • NVIDIA® V100: nvidia-tesla-v100
    • NVIDIA® K80: nvidia-tesla-k80

예시

예를 들어 다음 gcloud 명령어를 사용하여 us-east1-d 영역에서 NVIDIA K80 GPU 1개 및 vCPU 2개가 포함된 Ubuntu 16.04 VM을 시작할 수 있습니다.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure

API

VM에 추가하려는 GPU 유형을 식별합니다. GET 요청을 제출하여 특정 영역에서 프로젝트에 사용할 수 있는 GPU 유형을 나열합니다.

"preemptible": true는 VM을 선점형 인스턴스로 구성하는 선택적 매개변수입니다. 이렇게 하면 VM 및 연결된 GPU의 비용이 절감됩니다. 자세한 내용은 선점형 인스턴스의 GPU를 참조하세요.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: 사용 가능한 GPU 유형 목록을 확인하고 싶은 영역입니다.

API에서 instances.insert 메서드에 대해 POST 요청을 만듭니다. 사용할 GPU 유형을 지정하는 acceleratorType 매개변수와 추가할 GPU 수를 지정하는 acceleratorCount 매개변수를 포함합니다. 또한 onHostMaintenance 매개변수를 TERMINATE로 설정합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": ACCELERATOR_COUNT,
      "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

다음을 바꿉니다.

  • VM_NAME: VM의 이름입니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM의 영역입니다. 이 영역은 GPU 유형을 지원해야 합니다.
  • MACHINE_TYPE: VM에 선택한 머신 유형입니다. 원하는 GPU 수를 기준으로 사용 가능한 머신 유형을 확인하려면 Compute Engine의 GPU을 참조하세요.
  • IMAGE 또는 IMAGE_FAMILY: 다음 중 하나를 지정합니다.

    • IMAGE: 공개 이미지의 필수 버전입니다. 예를 들면 "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"입니다.
    • IMAGE_FAMILY: 이미지 계열입니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어 "sourceImage": "projects/debian-cloud/global/images/family/debian-10"을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.

    커스텀 이미지 또는 Deep Learning VM Image를 지정할 수도 있습니다.

  • IMAGE_PROJECT: 이미지 계열이 속한 Compute Engine 이미지 프로젝트입니다. 커스텀 이미지 또는 Deep Learning VM Image를 사용하는 경우 해당 이미지가 속하는 프로젝트를 지정합니다.

  • DISK_SIZE: 부팅 디스크의 크기(GB 단위)입니다.

  • NETWORK: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하려면 default를 지정합니다.

  • ACCELERATOR_COUNT: VM에 추가하려는 GPU 수입니다. VM의 머신 유형을 기준으로 한 GPU 한도 목록은 Compute Engine의 GPU를 참조하세요.

  • ACCELERATOR_TYPE: 사용하려는 GPU 모델입니다. 이 VM에서 그래픽 집중 워크로드를 실행하려는 경우 가상 워크스테이션 모델 중 하나를 사용합니다.

    다음 값 중 하나를 선택합니다.

    • NVIDIA® T4: nvidia-tesla-t4
    • NVIDIA® T4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-t4-vws
    • NVIDIA® P4: nvidia-tesla-p4
    • NVIDIA® P4 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p4-vws
    • NVIDIA® P100: nvidia-tesla-p100
    • NVIDIA® P100 Virtual Workstation 및 NVIDIA® GRID®: nvidia-tesla-p100-vws
    • NVIDIA® V100: nvidia-tesla-v100
    • NVIDIA® K80: nvidia-tesla-k80

다음: 시스템에서 GPU를 사용할 수 있는지 확인하려면 다음 단계를 완료합니다.

다음 단계