Mengonfigurasi GPU untuk tugas Cloud Run

Halaman ini menjelaskan konfigurasi GPU untuk tugas Cloud Run Anda. GPU berfungsi dengan baik untuk workload AI seperti, melatih model bahasa besar (LLM) menggunakan framework pilihan Anda, melakukan inferensi batch atau offline pada LLM, dan menangani tugas intensif komputasi lainnya seperti pemrosesan video dan rendering grafis sebagai tugas latar belakang. Google menyediakan GPU NVIDIA L4 dengan memori GPU (VRAM) 24 GB dan GPU NVIDIA RTX PRO 6000 Blackwell dengan memori GPU (VRAM) 96 GB, yang terpisah dari memori instance.

GPU di Cloud Run terkelola sepenuhnya, tanpa memerlukan driver atau library tambahan. Fitur GPU menawarkan ketersediaan on-demand tanpa perlu reservasi, mirip dengan cara kerja CPU on-demand dan memori on-demand di Cloud Run.

Instance Cloud Run dengan GPU L4 atau NVIDIA RTX PRO 6000 Blackwell yang terpasang dengan driver yang sudah diinstal sebelumnya akan dimulai dalam waktu sekitar 5 detik, dan pada saat itu, proses yang berjalan di container Anda dapat mulai menggunakan GPU.

Anda dapat mengonfigurasi satu GPU per instance Cloud Run. Jika Anda menggunakan container sidecar, perhatikan bahwa GPU hanya dapat dilampirkan ke satu container.

Jenis GPU yang didukung

Cloud Run mendukung dua jenis GPU:

  • GPU L4 dengan versi driver NVIDIA saat ini: 535.x.x (12.2). Untuk GPU L4, Anda harus menggunakan minimal 4 CPU dan memori 16 GiB.
  • GPU NVIDIA RTX PRO 6000 Blackwell dengan versi driver NVIDIA saat ini: 580.x.x (13.0). Untuk GPU NVIDIA RTX PRO 6000 Blackwell, Anda harus menggunakan minimal 20 CPU dan memori 80 GiB.

Region yang didukung

Region berikut didukung oleh GPU L4:

  • asia-southeast1 (Singapura)
  • asia-south1 (Mumbai) . Wilayah ini hanya tersedia berdasarkan undangan. Hubungi tim Akun Google Anda jika Anda tertarik dengan wilayah ini.
  • europe-west1 (Belgia) ikon daun CO2 Rendah
  • europe-west4 (Belanda) ikon daun CO2 Rendah
  • us-central1 (Iowa) ikon daun CO2 rendah . Wilayah ini hanya tersedia berdasarkan undangan. Hubungi tim Akun Google Anda jika Anda tertarik dengan wilayah ini.
  • us-east4 (North Virginia)

Wilayah berikut didukung oleh GPU NVIDIA RTX PRO 6000 Blackwell:

  • asia-southeast1 (Singapura).
  • asia-south2 (Delhi, India). Wilayah ini hanya tersedia berdasarkan undangan. Hubungi tim Akun Google Anda jika Anda tertarik dengan wilayah ini.
  • europe-west4 (Belanda) ikon daun CO2 Rendah
  • us-central1 (Iowa) ikon daun CO2 Rendah

Dampak harga

Lihat harga Cloud Run untuk mengetahui detail harga GPU. Perhatikan persyaratan dan pertimbangan berikut:

  • GPU untuk tugas mengikuti Harga tanpa redundansi zona.
  • Konfigurasi CPU dan memori resource Anda.
  • GPU ditagih selama seluruh durasi siklus proses instance.

Redundansi non-zonal GPU

Fitur tugas Cloud Run hanya menyediakan dukungan redundansi non-zonal untuk instance yang mendukung GPU. Dengan mengaktifkan redundansi non-zonal, Cloud Run mencoba failover untuk tugas yang mendukung GPU dengan upaya terbaik. Cloud Run merutekan eksekusi tugas ke zona lain hanya jika kapasitas GPU yang memadai tersedia pada saat itu. Opsi ini tidak menjamin kapasitas yang dicadangkan untuk skenario failover, tetapi menghasilkan biaya per detik GPU yang lebih rendah.

Lihat bagian mengonfigurasi tugas Cloud Run dengan GPU untuk mengetahui detail tentang cara mengaktifkan redundansi non-zonal.

Meminta penambahan kuota

Project yang menggunakan GPU nvidia-l4 Cloud Run di suatu region untuk pertama kalinya akan otomatis diberi kuota 3 GPU (redundansi zonal nonaktif) saat deployment pertama dibuat. Kuota untuk GPU nvidia-rtx-pro-6000Cloud Run diberikan dalam milliGPU. Project yang menggunakan GPU nvidia-rtx-pro-6000 di suatu region untuk pertama kalinya akan otomatis diberi kuota 3.000 milliGPU (redundansi zonal nonaktif) saat deployment pertama dibuat. Hal ini setara dengan 3 GPU.

Perhatikan bahwa pemberian kuota otomatis ini tunduk pada ketersediaan, bergantung pada kapasitas CPU dan memori Anda. Hal ini membatasi jumlah GPU yang mungkin aktif di semua layanan, tugas, dan pool worker project kapan saja.

Jika Anda memerlukan GPU Cloud Run tambahan untuk tugas, minta penambahan kuota.

Sebelum memulai

Daftar berikut menjelaskan persyaratan dan batasan saat menggunakan GPU di Cloud Run:

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Mengaktifkan Cloud Run API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

  7. Lihat Praktik terbaik: Tugas Cloud Run dengan GPU untuk mengoptimalkan performa saat menggunakan tugas Cloud Run dengan GPU.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi tugas Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut pada tugas:

  • Cloud Run Developer (roles/run.developer) - tugas Cloud Run
  • Pengguna Akun Layanan (roles/iam.serviceAccountUser) - identitas layanan

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika tugas Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengonfigurasi tugas Cloud Run untuk menggunakan GPU

Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, atau YAML untuk mengonfigurasi GPU.

Konsol

  1. Di konsol Google Cloud , buka halaman Tugas Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container untuk mengisi halaman setelan tugas awal. Jika Anda mengonfigurasi tugas yang ada, pilih tugas, lalu klik Lihat dan edit konfigurasi tugas.

  3. Klik Containers, Connections, Security untuk memperluas halaman properti tugas.

  4. Klik tab Container.

    gambar

    • Konfigurasi CPU, memori, dan pemeriksaan startup dengan mengikuti rekomendasi di Sebelum memulai.
    • Centang kotak GPU. Kemudian, pilih jenis GPU dari menu GPU type, dan jumlah GPU dari menu Number of GPUs.
  5. Klik Buat atau Perbarui.

gcloud

Untuk mengaktifkan redundansi non-zonal, Anda harus menentukan --no-gpu-zonal-redundancy. Tindakan ini diperlukan untuk menggunakan GPU dengan tugas.

Untuk membuat tugas menggunakan GPU yang diaktifkan, gunakan perintah gcloud run jobs create:

    gcloud run jobs create JOB_NAME \
      --image=IMAGE \
      --gpu=1 \
      --no-gpu-zonal-redundancy

Ganti kode berikut:

  • JOB_NAME: nama tugas Cloud Run Anda.
  • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest.

Untuk mengupdate konfigurasi GPU untuk tugas, gunakan perintah gcloud run jobs update:

    gcloud run jobs update JOB_NAME \
      --image IMAGE_URL \
      --cpu CPU \
      --memory MEMORY \
      --gpu GPU_NUMBER \
      --gpu-type GPU_TYPE \
      --parallelism PARALLELISM \
      --no-gpu-zonal-redundancy

Ganti kode berikut:

  • JOB_NAME: nama tugas Cloud Run Anda.
  • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest.
  • CPU: jumlah CPU. Untuk GPU L4, Anda harus menentukan setidaknya 4 CPU. Untuk GPU NVIDIA RTX PRO 6000 Blackwell, Anda harus menentukan minimal 20 CPU.
  • MEMORY: jumlah memori. Untuk GPU L4, Anda harus menentukan setidaknya 16Gi (16 GiB). Untuk GPU NVIDIA RTX PRO 6000 Blackwell, Anda harus menentukan setidaknya 80Gi (80 GiB).
  • GPU_NUMBER: nilai 1 (satu). Jika tidak ditentukan, tetapi GPU_TYPE ada, defaultnya adalah 1.
  • GPU_TYPE: jenis GPU. Untuk GPU L4, masukkan nilai nvidia-l4 (nvidia-L4 huruf L kecil, bukan nilai numerik empat belas). GPU NVIDIA RTX PRO 6000 Blackwell, masukkan nvidia-rtx-pro-6000.
  • PARALLELISM: nilai bilangan bulat yang lebih kecil dari nilai terendah batas kuota yang berlaku yang Anda alokasikan untuk project Anda.

YAML

Anda harus menyetel anotasi run.googleapis.com/gpu-zonal-redundancy-disabled: ke 'true'. Tindakan ini mengaktifkan redundansi non-zonal, yang diperlukan untuk GPU untuk tugas.

  1. Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Perbarui atribut nvidia.com/gpu, annotations: run.googleapis.com/launch-stage untuk tahap peluncuran, dan nodeSelector:
    run.googleapis.com/accelerator
    :

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'
        spec:
          template:
            spec:
              containers:
              - image: IMAGE_URL
                limits:
                  cpu: 'CPU'
                  memory: 'MEMORY'
                  nvidia.com/gpu: 'GPU_NUMBER'
              nodeSelector:
                run.googleapis.com/accelerator: GPU_TYPE

    Ganti kode berikut:

    • JOB_NAME: nama tugas Cloud Run Anda.
    • IMAGE_URL: referensi ke image container—misalnya, us-docker.pkg.dev/cloudrun/container/job:latest
    • CPU: jumlah CPU. Untuk GPU L4, Anda harus menentukan setidaknya 4 CPU. Untuk GPU NVIDIA RTX PRO 6000 Blackwell, Anda harus menentukan minimal 20 CPU.
    • MEMORY: jumlah memori. Untuk GPU L4, Anda harus menentukan setidaknya 16Gi (16 GiB). Untuk GPU NVIDIA RTX PRO 6000 Blackwell, Anda harus menentukan setidaknya 80Gi (80 GiB).
    • GPU_NUMBER: nilai 1 (satu) karena kita hanya mendukung melampirkan satu GPU per instance Cloud Run.
    • GPU_TYPE: jenis GPU. Untuk GPU L4, masukkan nilai nvidia-l4 (nvidia-L4 huruf L kecil, bukan nilai numerik empat belas). GPU NVIDIA RTX PRO 6000 Blackwell, masukkan nvidia-rtx-pro-6000.
  3. Buat atau perbarui tugas menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

Melihat setelan GPU

Untuk melihat setelan GPU saat ini untuk tugas Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud , buka halaman tugas Cloud Run:

    Buka tugas Cloud Run

  2. Klik tugas yang Anda minati untuk membuka halaman Detail pekerjaan.

  3. Klik Lihat dan Edit konfigurasi tugas.

  4. Temukan setelan GPU di detail konfigurasi.

gcloud

  1. Gunakan perintah berikut:

    gcloud run jobs describe JOB_NAME
  2. Temukan setelan GPU di konfigurasi yang ditampilkan.

Melepaskan resource GPU dari tugas

Anda dapat melepaskan resource GPU dari tugas menggunakan konsol Google Cloud , Google Cloud CLI atau YAML.

Konsol

  1. Di konsol Google Cloud , buka halaman Tugas Cloud Run:

    Buka Cloud Run

  2. Di daftar tugas, klik tugas untuk membuka detail tugas tersebut.

  3. Klik Lihat dan edit konfigurasi tugas.

  4. Klik Containers, Connections, Security untuk memperluas halaman properti tugas.

  5. Klik tab Container.

    gambar

    • Hapus centang pada kotak GPU.
  6. Klik Update.

gcloud

Untuk melepaskan resource GPU dari tugas Cloud Run, tetapkan jumlah GPU ke 0 menggunakan perintah gcloud run jobs update:

  gcloud run jobs update JOB_NAME --gpu 0
  

Ganti JOB_NAME dengan nama tugas Cloud Run Anda.

YAML

  1. Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Hapus baris nvidia.com/gpu:, run.googleapis.com/gpu-zonal-redundancy-disabled: 'true', dan nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.

  3. Buat atau perbarui tugas menggunakan perintah berikut:

    gcloud run jobs replace job.yaml

Library driver

Secara default, semua library driver GPU NVIDIA L4 dan NVIDIA RTX PRO 6000 Blackwell dipasang di /usr/local/nvidia/lib64. Cloud Run secara otomatis menambahkan jalur ini ke variabel lingkungan LD_LIBRARY_PATH (yaitu ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) container dengan GPU. Hal ini memungkinkan linker dinamis menemukan library driver NVIDIA. Linker menelusuri dan menyelesaikan jalur dalam urutan yang Anda cantumkan dalam variabel lingkungan LD_LIBRARY_PATH. Nilai apa pun yang Anda tentukan dalam variabel ini akan diprioritaskan daripada jalur library driver Cloud Run default /usr/local/nvidia/lib64.

Jika Anda ingin menggunakan versi CUDA yang lebih tinggi dari 12.2, cara termudah adalah dengan mengandalkan image dasar NVIDIA yang lebih baru dengan paket kompatibilitas ke depan yang sudah diinstal. Opsi lainnya adalah menginstal paket kompatibilitas penerusan NVIDIA secara manual dan menambahkannya ke LD_LIBRARY_PATH. Lihat matriks kompatibilitas NVIDIA untuk menentukan versi CUDA mana yang kompatibel ke depan dengan versi driver NVIDIA yang diberikan.

Tentang GPU dan paralelisme

Jika Anda menjalankan tugas paralel dalam eksekusi tugas, tentukan dan tetapkan nilai paralelisme ke kurang dari kuota GPU tanpa redundansi zona yang dialokasikan untuk project Anda. Untuk meminta penambahan kuota, lihat Cara menambah kuota. Tugas GPU dimulai secepat mungkin dan dapat mencapai maksimum yang bervariasi, bergantung pada jumlah kuota GPU yang Anda alokasikan untuk project dan region yang dipilih. Deployment Cloud Run akan gagal jika Anda menyetel paralelisme ke lebih dari batas kuota GPU.

Untuk menghitung kuota GPU yang digunakan tugas Anda per eksekusi, kalikan jumlah GPU per tugas dengan nilai paralelisme. Misalnya, jika Anda memiliki kuota GPU sebesar 10, dan men-deploy tugas Cloud Run dengan --gpu=1, --parallelism=10, maka tugas Anda akan menggunakan semua kuota 10 GPU. Atau, jika Anda men-deploy dengan --gpu=1, --parallelism=20, deployment akan gagal.

Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik: Tugas Cloud Run dengan GPU.

Langkah berikutnya

Lihat Menjalankan inferensi AI di Cloud Run dengan GPU untuk melihat tutorial.