Halaman ini menjelaskan konfigurasi GPU untuk workerpool Cloud Run Anda. Google menyediakan GPU NVIDIA L4 dengan memori GPU (VRAM) sebesar 24 GB, yang terpisah dari memori instance.
GPU di Cloud Run dikelola 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 yang terpasang dan driver yang telah diinstal sebelumnya 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.
Region yang didukung
asia-southeast1
(Singapura)asia-south1
(Mumbai) . Region ini hanya tersedia berdasarkan undangan. Hubungi tim Akun Google Anda jika Anda tertarik dengan wilayah ini.europe-west1
(Belgia)CO2 Rendah
europe-west4
(Belanda)CO2 Rendah
us-central1
(Iowa)CO2 Rendah
us-east4
(North Virginia)
Jenis GPU yang didukung
Anda dapat menggunakan satu GPU L4 per instance Cloud Run. GPU L4 memiliki driver yang telah diinstal sebelumnya berikut:
- Versi driver NVIDIA saat ini: 535.216.03 (CUDA 12.2)
Dampak harga
Lihat Harga Cloud Run untuk mengetahui detail harga GPU. Perhatikan persyaratan dan pertimbangan berikut:
- Ada perbedaan biaya antara redundansi zona GPU dan redundansi non-zona. Lihat Harga Cloud Run untuk mengetahui detail harga GPU.
- Kumpulan pekerja GPU tidak dapat diskalakan otomatis. Anda akan ditagih untuk GPU meskipun GPU tidak menjalankan proses apa pun, dan selama instance GPU kumpulan pekerja berjalan.
- CPU dan memori untuk kumpulan pekerja diberi harga yang berbeda dengan layanan dan tugas. Namun, SKU GPU diberi harga yang sama dengan layanan dan tugas.
- Anda harus menggunakan minimal 4 CPU dan memori 16 GiB.
- GPU ditagih selama seluruh durasi siklus proses instance.
Opsi redundansi zona GPU
Secara default, Cloud Run men-deploy kumpulan pekerja Anda di beberapa zona dalam satu region. Arsitektur ini memberikan ketahanan yang inheren: jika suatu zona mengalami pemadaman layanan, Cloud Run akan otomatis merutekan traffic dari zona yang terpengaruh ke zona yang berfungsi dengan baik dalam region yang sama.
Saat menggunakan resource GPU, perlu diingat bahwa resource GPU memiliki batasan kapasitas tertentu. Selama terjadi gangguan zona, mekanisme failover standar untuk beban kerja GPU mengandalkan kapasitas GPU yang tidak digunakan dan memadai yang tersedia di zona responsif yang tersisa. Karena sifat GPU yang terbatas, kapasitas ini mungkin tidak selalu tersedia.
Untuk meningkatkan ketersediaan kumpulan pekerja yang diakselerasi GPU selama gangguan tingkat zona, Anda dapat mengonfigurasi redundansi tingkat zona khusus untuk GPU:
Redundansi Zona Diaktifkan (default): Cloud Run mencadangkan kapasitas GPU untuk pool worker Anda di beberapa zona. Hal ini secara signifikan meningkatkan kemungkinan kumpulan pekerja Anda dapat berhasil menangani pengalihan traffic dari zona yang terpengaruh, sehingga menawarkan keandalan yang lebih tinggi selama kegagalan zona dengan biaya tambahan per detik GPU.
Redundansi Zonal Dinonaktifkan: Cloud Run mencoba failover untuk workload GPU dengan upaya terbaik. Traffic hanya dirutekan ke zona lain 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.
SLA
SLA untuk GPU Cloud Run bergantung pada apakah pool worker menggunakan opsi redundansi zona atau non-redundansi zona. Lihat halaman SLA untuk mengetahui detailnya.
Meminta penambahan kuota
Project yang menggunakan GPU nvidia-l4
Cloud Run di suatu region untuk pertama kalinya akan otomatis diberi kuota 3 GPU (redundansi zona nonaktif) saat deployment pertama dibuat.
Jika Anda memerlukan GPU Cloud Run tambahan, Anda harus meminta penambahan kuota untuk kumpulan pekerja Cloud Run. Gunakan link yang disediakan di tombol berikut untuk meminta kuota yang Anda butuhkan.
Kuota diperlukan | Link kuota |
---|---|
GPU dengan redundansi zona dinonaktifkan (harga lebih rendah) | Meminta kuota GPU tanpa redundansi zona |
GPU dengan redundansi zona diaktifkan (harga lebih tinggi) | Minta kuota GPU dengan redundansi zona |
Untuk mengetahui informasi selengkapnya tentang cara meminta penambahan kuota, lihat Cara menambah kuota.
Sebelum memulai
Daftar berikut menjelaskan persyaratan dan batasan saat menggunakan GPU di Cloud Run:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run API.
- Minta kuota yang diperlukan.
- Lihat Praktik terbaik GPU: Kumpulan pekerja Cloud Run dengan GPU untuk mendapatkan rekomendasi tentang cara membuat image container dan memuat model besar.
- Pastikan pool pekerja Cloud Run Anda memiliki konfigurasi berikut:
- Konfigurasi setelan penagihan ke penagihan berbasis instance. Perhatikan bahwa gabungan worker yang ditetapkan ke penagihan berbasis instance masih dapat diskalakan ke nol.
- Konfigurasi minimal 4 CPU untuk kumpulan pekerja Anda, dengan 8 CPU yang direkomendasikan.
- Konfigurasi memori minimal 16 GiB, dengan 32 GiB yang direkomendasikan.
- Tentukan dan tetapkan konkurensi maksimum yang optimal untuk penggunaan GPU Anda.
-
Cloud Run Developer (
roles/run.developer
) - kumpulan pekerja Cloud Run -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) - identitas layanan Di konsol Google Cloud , buka Cloud Run:
Pilih Worker Pools dari menu, lalu klik Deploy container untuk mengonfigurasi worker pool baru. Jika Anda mengonfigurasi pool worker yang ada, klik pool worker, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi kumpulan pekerja baru, isi halaman setelan kumpulan pekerja awal, lalu klik Container, Volume, Jaringan, Keamanan untuk meluaskan halaman konfigurasi kumpulan pekerja.
Klik tab Container.
- Konfigurasi CPU, memori, serentak, lingkungan eksekusi, dan pemeriksaan startup dengan mengikuti rekomendasi di Sebelum memulai
- Centang kotak GPU, lalu pilih jenis GPU dari menu GPU type, dan jumlah GPU dari menu Number of GPUs.
- Secara default, redundansi zonal diaktifkan. Untuk mengubah setelan saat ini, centang kotak GPU untuk menampilkan opsi Redundansi GPU.
- Pilih Tidak ada redundansi zona untuk menonaktifkan redundansi zona
- Pilih Zonal redundancy untuk mengaktifkan redundansi zona.
Klik Buat atau Deploy.
- WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
- IMAGE_URL: referensi ke image container yang
berisi worker pool, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
- IMAGE_URL: referensi ke image container yang
berisi worker pool, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - CPU: jumlah CPU. Anda harus menentukan minimal
4
CPU. - MEMORY: jumlah memori. Anda harus menentukan setidaknya
16Gi
(16 GiB). - GPU_NUMBER: nilai
1
(satu). Jika tidak ditentukan, tetapi GPU_TYPE ada, defaultnya adalah1
. - GPU_TYPE: jenis GPU. Jika tidak ditentukan, tetapi GPU_NUMBER ada, defaultnya adalah
nvidia-l4
(nvidiaL
4 huruf kecil L, bukan nilai numerik empat belas). - GPU_ZONAL_REDUNDANCY:
no-gpu-zonal-redundancy
untuk menonaktifkan redundansi zona, ataugpu-zonal-redundancy
untuk mengaktifkan redundansi zona. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Perbarui atribut
nvidia.com/gpu:
dannodeSelector:
:
run.googleapis.com/accelerator:apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL spec: template: metadata: annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
- IMAGE_URL: referensi ke image container yang
berisi worker pool, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - CPU: jumlah CPU. Anda harus menentukan minimal
4
CPU. - MEMORY: jumlah memori. Anda harus menentukan setidaknya
16Gi
(16 GiB). - GPU_TYPE: nilai
nvidia-l4
(nvidia-L
4 huruf kecil L, bukan nilai numerik empat belas). - GPU_ZONAL_REDUNDANCY:
false
untuk mengaktifkan redundansi zonal GPU, atautrue
untuk menonaktifkannya.
Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
- SERVICE: nama layanan Cloud Run Anda.
- GPU_ZONAL_REDUNDANCY:
false
untuk mengaktifkan redundansi zonal GPU, atautrue
untuk menonaktifkannya. - IMAGE_URL: referensi ke image container yang
berisi worker pool, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - CPU: jumlah CPU. Anda harus menentukan minimal
4
CPU. - MEMORY: jumlah memori. Anda harus menentukan setidaknya
16Gi
(16 GiB). - GPU_TYPE: nilai
nvidia-l4
(nvidia-L
4 huruf kecil L, bukan nilai numerik empat belas). Di konsol Google Cloud , buka halaman Cloud Run worker pool:
Klik kumpulan pekerja yang Anda minati untuk membuka halaman Detail kumpulan pekerja.
Klik Edit dan deploy revisi baru.
Temukan setelan GPU di detail konfigurasi.
Gunakan perintah berikut:
gcloud beta run worker-pools describe WORKER_POOL
Temukan setelan GPU dalam konfigurasi yang ditampilkan.
Di konsol Google Cloud , buka Cloud Run:
Pilih Worker Pools dari menu, lalu klik Deploy container untuk mengonfigurasi worker pool baru. Jika Anda mengonfigurasi pool worker yang ada, klik pool worker, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi kumpulan pekerja baru, isi halaman setelan kumpulan pekerja awal, lalu klik Container, Volume, Jaringan, Keamanan untuk meluaskan halaman konfigurasi kumpulan pekerja.
Klik tab Container.
- Hapus centang pada kotak GPU.
- Klik Buat atau Deploy.
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Hapus baris
nvidia.com/gpu:
dannodeSelector: run.googleapis.com/accelerator: nvidia-l4
.Buat atau perbarui layanan menggunakan perintah berikut:
gcloud run services replace service.yaml
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi dan men-deploy kumpulan pekerja Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut pada workerpool:
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika kumpulan worker Cloud Run Anda berinteraksi dengan APIGoogle Cloud , seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Mengonfigurasi kumpulan pekerja Cloud Run dengan GPU
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, atau YAML untuk mengonfigurasi GPU.
Konsol
gcloud
Untuk membuat layanan dengan GPU yang diaktifkan, gunakan perintah gcloud run deploy:
gcloud beta run worker-pools deploy WORKER_POOL \ --image IMAGE_URL \ --gpu 1
Ganti kode berikut:
Untuk memperbarui konfigurasi GPU layanan, gunakan perintah gcloud run services update:
gcloud beta run worker-pools update WORKER_POOL \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --GPU_ZONAL_REDUNDANCY
Ganti kode berikut:
YAML
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
provider = google-beta
name = "WORKER_POOL"
location = "REGION"
template {
gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
containers {
image = "IMAGE_URL"
resources {
limits = {
"cpu" = "CPU"
"memory" = "MEMORY"
"nvidia.com/gpu" = "1"
}
}
}
node_selector {
accelerator = "GPU_TYPE"
}
}
}
Ganti kode berikut:
Melihat setelan GPU
Untuk melihat setelan GPU saat ini untuk pool pekerja Cloud Run Anda:
Konsol
gcloud
Menghapus GPU
Anda dapat menghapus GPU menggunakan Google Cloud konsol, Google Cloud CLI, atau YAML.
Konsol
gcloud
Untuk menghapus GPU, tetapkan jumlah GPU ke 0
:
gcloud beta run worker-pools update WORKER_POOL --gpu 0
Ganti WORKER_POOL dengan nama pool pekerja Cloud Run Anda.
YAML
Library
Secara default, semua library driver NVIDIA L4 di-mount di bawah
/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
)
dari 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
yang Anda tentukan dalam variabel ini 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 (535.216.03).