Dokumen ini menjelaskan cara membuat dan menjalankan tugas yang menggunakan unit pemrosesan grafis (GPU). Untuk mempelajari lebih lanjut fitur dan batasan GPU, lihat Tentang GPU dalam dokumentasi Compute Engine.
Saat membuat tugas Batch, Anda dapat menggunakan GPU secara opsional untuk mempercepat workload tertentu. Kasus penggunaan umum untuk tugas yang menggunakan GPU mencakup pemrosesan data intensif dan workload kecerdasan buatan (AI) seperti machine learning (ML). Atau, Anda dapat mempercepat workload AI dan ML dengan menggunakan TPU.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
- Editor Tugas Batch (
roles/batch.jobsEditor) di project - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
- Editor Tugas Batch (
Membuat tugas yang menggunakan GPU
Untuk membuat tugas yang menggunakan GPU, lakukan hal berikut:
- Rencanakan konfigurasi untuk tugas yang menggunakan GPU.
- Buat tugas dengan persyaratan dan metode yang Anda identifikasi. Untuk mengetahui contoh cara membuat tugas menggunakan opsi yang direkomendasikan, lihat Membuat tugas yang menggunakan GPU dalam dokumen ini.
Merencanakan konfigurasi untuk tugas yang menggunakan GPU
Sebelum membuat tugas yang menggunakan GPU, rencanakan persyaratan konfigurasi tugas seperti yang dijelaskan di bagian berikut:
- Memilih jenis mesin GPU dan opsi pemakaian
- Menginstal driver GPU
- Menentukan resource VM yang kompatibel
Langkah 1: Pilih jenis mesin GPU dan opsi pemakaian
Persyaratan tugas bervariasi berdasarkan jenis mesin GPU dan opsi pemakaian yang Anda inginkan, dan opsi untuk masing-masingnya mungkin saling bergantung.
Untuk memilih jenis mesin GPU dan opsi pemakaian untuk tugas Anda, selesaikan langkah-langkah berikut:
Identifikasi dan pilih prioritas Anda:
- Jika Anda ingin memprioritaskan performa dan harga dasar, lihat bagian Memilih jenis mesin GPU dalam dokumen ini.
- Jika Anda ingin memprioritaskan ketersediaan resource atau diskon, lihat bagian Memilih opsi konsumsi dalam dokumen ini.
Tentukan pilihan yang tersisa berdasarkan apa yang kompatibel dengan pilihan pertama Anda.
Untuk mengidentifikasi opsi yang kompatibel dengan pilihan pertama Anda, lihat Ketersediaan opsi konsumsi berdasarkan jenis mesin dalam dokumentasi Compute Engine.
Lihat bagian yang tersisa untuk Memilih opsi pemakaian atau Memilih jenis mesin GPU.
Memilih jenis mesin GPU
Untuk memilih jenis mesin GPU untuk tugas dan memahami persyaratan tugasnya, selesaikan langkah-langkah berikut:
Pilih jenis mesin GPU: Untuk meninjau jenis mesin GPU yang tersedia (kombinasi yang valid dari jenis GPU, jumlah GPU, dan jenis mesin (vCPU dan memori)) serta kasus penggunaan yang direkomendasikan, lihat Jenis mesin GPU dan Kelompok mesin yang dioptimalkan untuk akselerator dalam dokumentasi Compute Engine.
Memahami persyaratan tugas untuk jenis mesin GPU Anda: Kolom yang diperlukan untuk tugas guna menentukan jenis mesin GPU bervariasi berdasarkan kategori dalam tabel berikut:
Jenis mesin GPU dan persyaratan tugasnya GPU untuk VM yang dioptimalkan akselerator: VM dengan jenis mesin dari kelompok mesin yang dioptimalkan akselerator memiliki jenis dan jumlah GPU tertentu yang terpasang secara otomatis.
Untuk menggunakan GPU pada VM yang dioptimalkan untuk akselerator, sebaiknya tentukan jenis mesin. Setiap jenis mesin yang dioptimalkan akselerator hanya mendukung jenis dan jumlah GPU tertentu, sehingga secara fungsional setara, baik Anda menentukan atau tidak menentukan nilai tersebut selain jenis mesin yang dioptimalkan akselerator.
Secara khusus, Batch juga mendukung penentuan hanya jenis dan jumlah GPU untuk VM yang dioptimalkan untuk akselerator, tetapi opsi vCPU dan memori yang dihasilkan sering kali sangat terbatas. Oleh karena itu, sebaiknya Anda memverifikasi bahwa opsi vCPU dan memori yang tersedia kompatibel dengan persyaratan tugas dari tugas tersebut.
GPU untuk VM N1: GPU ini mengharuskan Anda menentukan jenis dan jumlah yang akan dipasang ke setiap VM dan harus dipasang ke VM dengan jenis mesin dari seri mesin N1.
Untuk menggunakan GPU pada VM N1, sebaiknya tentukan setidaknya jenis GPU dan jumlah GPU. Pastikan kombinasi nilai cocok dengan salah satu opsi GPU yang valid untuk jenis mesin N1. Opsi vCPU dan memori untuk VM N1 yang menggunakan jenis dan jumlah GPU tertentu cukup fleksibel. Kecuali jika Anda membuat tugas menggunakan konsol Google Cloud , Anda dapat mengizinkan Batch memilih jenis mesin secara otomatis yang memenuhi persyaratan tugas.
Pilih opsi pemakaian
Bagian ini merangkum cara memilih opsi pemakaian untuk tugas dan persyaratan tugas untuk setiap opsi.
Opsi konsumsi yang tersedia untuk Batch dan persyaratan tugasnya dijelaskan dalam tabel berikut. Tabel ini mencantumkan opsi konsumsi berdasarkan kasus penggunaannya: dari ketersediaan tertinggi hingga terendah. Pastikan opsi pemakaian yang Anda pilih juga memenuhi persyaratan Anda untuk harga, waktu proses, dan dukungan jenis mesin. Untuk mengetahui informasi selengkapnya tentang cara memilih opsi konsumsi, lihat juga Meningkatkan ketersediaan resource, dokumentasi Compute Engine untuk model penyediaan, dan dokumentasi AI Hypercomputer untuk opsi konsumsi.
| Opsi pemakaian dan persyaratan tugasnya | |
|---|---|
Pemesanan
|
Batch menggunakan pemesanan untuk tugas yang dapat menggunakan VM yang dipesan dan tidak digunakan. Untuk mengetahui informasi selengkapnya tentang persyaratan tugas untuk menggunakan pemesanan, lihat halaman Memastikan ketersediaan resource menggunakan pemesanan VM. |
Pemesanan mode kalender
|
Batch menggunakan pemesanan mode kalender untuk tugas yang melakukan semua hal berikut:
|
Flex-start VM
|
Batch menggunakan Flex-start VM untuk tugas yang melakukan semua hal berikut:
|
Sesuai permintaan
|
Batch menggunakan on-demand untuk sebagian besar tugas secara default. Jika Anda ingin memastikan bahwa tugas menggunakan on-demand, lakukan semua hal berikut:1
1Pengecualian: Untuk tugas yang menggunakan seri mesin A3, perilaku defaultnya unik, dan sebaiknya Anda tidak menggunakan on-demand dan tidak membiarkan kolom |
Spot VM
|
Batch menggunakan Spot VM untuk tugas yang melakukan semua hal berikut:
|
Langkah 2: Instal driver GPU
Untuk menggunakan GPU untuk tugas, Anda harus menginstal driver GPU. Untuk menginstal driver GPU, pilih salah satu metode berikut:
Instal driver GPU secara otomatis (direkomendasikan jika memungkinkan): Seperti yang ditunjukkan dalam contoh, untuk mengizinkan Batch mengambil driver GPU yang diperlukan dari lokasi pihak ketiga dan menginstalnya atas nama Anda, tetapkan kolom
installGpuDriversuntuk tugas ketrue. Metode ini direkomendasikan jika tugas Anda tidak mengharuskan Anda menginstal driver secara manual.Secara opsional, jika Anda perlu menentukan versi driver GPU yang diinstal Batch, tetapkan juga kolom
driverVersion.Menginstal driver GPU secara manual: Metode ini diperlukan jika salah satu hal berikut terpenuhi:
- Tugas menggunakan runnable skrip dan container serta tidak memiliki akses internet. Untuk mengetahui informasi selengkapnya tentang akses yang dimiliki tugas, lihat Ringkasan jaringan batch.
- Tugas menggunakan image VM kustom. Untuk mempelajari lebih lanjut image OS VM dan image OS VM yang dapat Anda gunakan, lihat Ringkasan lingkungan OS VM.
Untuk menginstal driver GPU yang diperlukan secara manual, sebaiknya gunakan metode berikut:
Buat image VM kustom yang menyertakan driver GPU.
Untuk menginstal driver GPU, jalankan skrip penginstalan berdasarkan OS yang ingin Anda gunakan:
Jika tugas Anda memiliki container runnable dan tidak menggunakan Container-Optimized OS, Anda juga harus menginstal NVIDIA Container Toolkit
Saat Anda membuat dan mengirimkan tugas yang menggunakan GPU, tentukan image VM kustom yang menyertakan driver GPU, dan tetapkan kolom
installGpuDriversuntuk tugas kefalse(default).
Langkah 3: Tentukan resource VM yang kompatibel
Untuk mempelajari persyaratan dan opsi dalam menentukan resource VM untuk tugas, lihat Resource tugas.
Singkatnya, Anda harus melakukan semua hal berikut saat menentukan resource VM untuk tugas yang menggunakan GPU:
Pastikan jenis mesin GPU tersedia di lokasi VM tugas Anda.
Untuk mempelajari ketersediaan jenis mesin GPU, lihat Lokasi GPU di dokumentasi Compute Engine.
Jika Anda menentukan jenis mesin tugas, pastikan jenis mesin tersebut memiliki vCPU dan memori yang cukup untuk persyaratan tugas. Menentukan jenis mesin tugas diperlukan setiap kali Anda membuat tugas menggunakan konsol Google Cloud dan direkomendasikan setiap kali Anda membuat tugas yang menggunakan GPU untuk VM yang dioptimalkan untuk akselerator.
Pastikan Anda menentukan resource VM untuk tugas menggunakan metode yang valid:
- Tentukan resource VM secara langsung menggunakan kolom
instances[].policy(direkomendasikan jika memungkinkan). Metode ini ditampilkan dalam contoh. - Tentukan resource VM melalui template menggunakan kolom
instances[].instanceTemplate. Metode ini diperlukan untuk menginstal driver GPU secara manual melalui image kustom. Untuk mengetahui informasi selengkapnya, lihat Menentukan resource tugas menggunakan template instance VM.
- Tentukan resource VM secara langsung menggunakan kolom
Membuat tugas yang menggunakan GPU
Bagian berikut menjelaskan cara membuat contoh tugas untuk setiap opsi konsumsi. Secara khusus, contoh tugas menggunakan opsi yang direkomendasikan: semua menginstal driver GPU secara otomatis, dan semua langsung menentukan resource VM.
| Opsi pemakaian | Contoh petunjuk tugas |
|---|---|
| Pemesanan atau pemesanan mode kalender | |
| Flex-start VM | |
| Sesuai permintaan atau Spot VM |
Pilih salah satu opsi berikut berdasarkan jenis mesin GPU Anda: |
Menggunakan GPU dan Flex-start VM
Anda dapat membuat tugas yang menggunakan GPU untuk VM A3 melalui Dynamic Workload Scheduler menggunakan gcloud CLI atau Batch API.
gcloud
Buat file JSON yang menginstal driver GPU, menentukan jenis mesin GPU yang mendukung VM Flex-start, memblokir pemesanan, dan berjalan di lokasi yang mendukung jenis mesin GPU.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan VM Flex-start dan GPU untuk VM yang dioptimalkan untuk akselerator, buat file JSON dengan konten berikut.
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel":"FLEX_START", "machineType": "MACHINE_TYPE", "reservation": "NO_RESERVATION" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Ganti kode berikut:
INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.MACHINE_TYPE: jenis mesin GPU yang mendukung Flex-start VM. Untuk mengetahui informasi selengkapnya, lihat Ketersediaan opsi konsumsi berdasarkan jenis mesin dalam dokumentasi Compute Engine.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Untuk membuat dan menjalankan tugas, gunakan perintah
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILEGanti kode berikut:
JOB_NAME: nama tugas.LOCATION: lokasi tugas.JSON_CONFIGURATION_FILE: jalur untuk file JSON dengan detail konfigurasi tugas.
API
Buat permintaan POST ke
metode jobs.create
yang menginstal driver GPU, menentukan jenis mesin GPU yang mendukung
Flex-start VM, memblokir reservasi, dan berjalan di lokasi yang
mendukung jenis mesin GPU.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan VM Flex-start dan GPU untuk VM yang dioptimalkan untuk akselerator, buat permintaan berikut:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel":"FLEX_START",
"machineType": "MACHINE_TYPE",
"reservation": "NO_RESERVATION"
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ganti kode berikut:
PROJECT_ID: Project ID project Anda.LOCATION: lokasi tugas.JOB_NAME: nama tugas.INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.MACHINE_TYPE: jenis mesin GPU yang mendukung VM Flex-start. Untuk mengetahui informasi selengkapnya, lihat Ketersediaan opsi konsumsi berdasarkan jenis mesin dalam dokumentasi Compute Engine.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Menggunakan GPU untuk VM yang dioptimalkan akselerator
Anda dapat membuat tugas yang menggunakan GPU untuk VM yang dioptimalkan akselerator menggunakan Google Cloud konsol, gcloud CLI, Batch API, Java, Node.js, atau Python.
Konsol
Untuk membuat tugas yang menggunakan GPU menggunakan konsol Google Cloud , lakukan hal berikut:
Di konsol Google Cloud , buka halaman Job list.
Klik Create. Halaman Create batch job akan terbuka. Di panel kiri, halaman Job details dipilih.
Konfigurasikan halaman Job details:
Opsional: Di kolom Job name, sesuaikan nama tugas.
Misalnya, masukkan
example-gpu-job.Konfigurasi bagian Task details:
Di jendela New runnable, tambahkan setidaknya satu skrip atau container untuk menjalankan tugas ini.
Misalnya, untuk membuat tugas skrip dasar, lakukan hal berikut:
Centang kotak Script. Kolom akan muncul.
Di kolom tersebut, masukkan skrip berikut:
echo Hello world from task ${BATCH_TASK_INDEX}.Klik Done.
Di kolom Task count, masukkan jumlah tugas untuk tugas ini.
Misalnya, masukkan
3.Opsional: Di kolom Parallelism, masukkan jumlah tugas yang akan dijalankan secara serentak.
Misalnya, masukkan
1(default).
Konfigurasikan halaman Resource specifications:
Di panel kiri, klik Resource specifications. Halaman Resource specifications akan terbuka.
Di bagian VM provisioning model, pilih salah satu opsi berikut untuk opsi konsumsi VM tugas ini:
Jika tugas Anda dapat menahan preemption dan Anda menginginkan Spot VM dengan diskon, pilih Spot.
Jika tidak, untuk menggunakan VM on-demand, pilih Standard (default).
Pilih lokasi untuk tugas ini.
Di kolom Region, pilih region.
Di kolom Zone, lakukan salah satu langkah berikut:
Jika Anda ingin membatasi tugas ini agar hanya berjalan di zona tertentu, pilih zona.
Jika tidak, pilih any (default).
Pilih jenis mesin GPU untuk VM tugas ini:
Di opsi kelompok mesin, klik GPUs.
Di kolom GPU type, pilih jenis GPU. Kemudian, di kolom Number of GPUs, pilih jumlah GPU untuk setiap VM.
Jika Anda memilih salah satu jenis GPU untuk VM yang dioptimalkan untuk akselerator, kolom Machine type hanya mengizinkan satu opsi untuk jenis mesin berdasarkan jenis dan jumlah GPU yang Anda pilih.
Untuk menginstal driver GPU secara otomatis, pilih GPU driver installation (default).
Konfigurasikan jumlah resource VM yang diperlukan untuk setiap tugas:
Di kolom Cores, masukkan jumlah vCPUs per tugas.
Misalnya, masukkan
1(default).Di kolom Memory, masukkan jumlah RAM dalam GB per tugas.
Misalnya, masukkan
0.5(default).
Klik Done.
Opsional: Konfigurasikan kolom lain untuk tugas ini.
Opsional: Untuk meninjau konfigurasi tugas, di panel kiri, klik Preview.
Klik Create.
Halaman Job details menampilkan tugas yang Anda buat.
gcloud
Buat file JSON yang menginstal driver GPU, menentukan jenis mesin dari kelompok mesin yang dioptimalkan akselerator, dan berjalan di lokasi yang memiliki jenis mesin GPU.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU untuk VM yang dioptimalkan untuk akselerator, buat file JSON dengan konten berikut:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel": "PROVISIONING_MODEL", "machineType": "MACHINE_TYPE", "reservation": "NO_RESERVATION" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Ganti kode berikut:
INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.PROVISIONING_MODEL: model penyediaan untuk opsi konsumsi Anda:STANDARDuntuk on-demand atauSPOTuntuk Spot VM.MACHINE_TYPE: jenis mesin dari kelompok mesin yang dioptimalkan akselerator.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Untuk membuat dan menjalankan tugas, gunakan perintah
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILEGanti kode berikut:
JOB_NAME: nama tugas.LOCATION: lokasi tugas.JSON_CONFIGURATION_FILE: jalur untuk file JSON dengan detail konfigurasi tugas.
API
Buat permintaan POST ke
metode jobs.create
yang menginstal driver GPU, menentukan jenis mesin dari
kelompok mesin yang dioptimalkan akselerator, dan berjalan di lokasi yang memiliki
jenis mesin GPU.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU untuk VM yang dioptimalkan untuk akselerator, buat permintaan berikut:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel": "PROVISIONING_MODEL",
"machineType": "MACHINE_TYPE",
"reservation": "NO_RESERVATION"
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ganti kode berikut:
PROJECT_ID: Project ID project Anda.LOCATION: lokasi tugas.JOB_NAME: nama tugas.INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.PROVISIONING_MODEL: model penyediaan untuk opsi konsumsi Anda:STANDARDuntuk on-demand atauSPOTuntuk Spot VM.MACHINE_TYPE: jenis mesin dari kelompok mesin yang dioptimalkan akselerator.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Java
Node.js
Python
Menggunakan GPU untuk VM N1
Anda dapat membuat tugas yang menggunakan GPU untuk VM N1 menggunakan konsol Google Cloud , gcloud CLI, Batch API, Java, Node.js, atau Python.
Konsol
Untuk membuat tugas yang menggunakan GPU menggunakan konsol Google Cloud , lakukan hal berikut:
Di konsol Google Cloud , buka halaman Job list.
Klik Create. Halaman Create batch job akan terbuka. Di panel kiri, halaman Job details dipilih.
Konfigurasikan halaman Job details:
Opsional: Di kolom Job name, sesuaikan nama tugas.
Misalnya, masukkan
example-gpu-job.Konfigurasi bagian Task details:
Di jendela New runnable, tambahkan setidaknya satu skrip atau container untuk menjalankan tugas ini.
Misalnya, untuk membuat tugas skrip dasar, lakukan hal berikut:
Centang kotak Script. Kolom akan muncul.
Di kolom tersebut, masukkan skrip berikut:
echo Hello world from task ${BATCH_TASK_INDEX}.Klik Done.
Di kolom Task count, masukkan jumlah tugas untuk tugas ini.
Misalnya, masukkan
3.Opsional: Di kolom Parallelism, masukkan jumlah tugas yang akan dijalankan secara serentak.
Misalnya, masukkan
1(default).
Konfigurasikan halaman Resource specifications:
Di panel kiri, klik Resource specifications. Halaman Resource specifications akan terbuka.
Di bagian VM provisioning model, pilih salah satu opsi berikut untuk opsi konsumsi VM tugas ini:
Jika tugas Anda dapat menahan preemption dan Anda menginginkan Spot VM dengan diskon, pilih Spot.
Jika tidak, untuk menggunakan VM on-demand, pilih Standard (default).
Pilih lokasi untuk tugas ini.
Di kolom Region, pilih region.
Di kolom Zone, lakukan salah satu langkah berikut:
Jika Anda ingin membatasi tugas ini agar hanya berjalan di zona tertentu, pilih zona.
Jika tidak, pilih any (default).
Pilih jenis mesin GPU untuk VM tugas ini:
Di opsi kelompok mesin, klik GPUs.
Di kolom GPU type, pilih jenis GPU.
Jika Anda memilih salah satu jenis GPU untuk VM N1, kolom Series akan ditetapkan ke N1.
Di kolom Number of GPUs, pilih jumlah GPU untuk setiap VM.
Di kolom Machine type, pilih jenis mesin.
Untuk menginstal driver GPU secara otomatis, pilih GPU driver installation (default).
Konfigurasikan jumlah resource VM yang diperlukan untuk setiap tugas:
Di kolom Cores, masukkan jumlah vCPUs per tugas.
Misalnya, masukkan
1(default).Di kolom Memory, masukkan jumlah RAM dalam GB per tugas.
Misalnya, masukkan
0.5(default).
Klik Done.
Opsional: Konfigurasikan kolom lain untuk tugas ini.
Opsional: Untuk meninjau konfigurasi tugas, di panel kiri, klik Preview.
Klik Create.
Halaman Job details menampilkan tugas yang Anda buat.
gcloud
Buat file JSON yang menginstal driver GPU, menentukan subkolom
typedancountdari kolomaccelerators[], dan berjalan di lokasi yang memiliki jenis mesin GPU.Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU untuk VM N1 dan memungkinkan Batch memilih jenis mesin N1 yang tepat, buat file JSON dengan konten berikut:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel": "PROVISIONING_MODEL", "reservation": "NO_RESERVATION", "accelerators": [ { "type": "GPU_TYPE", "count": GPU_COUNT } ] } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Ganti kode berikut:
INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.PROVISIONING_MODEL: model penyediaan untuk opsi konsumsi Anda:STANDARDuntuk on-demand atauSPOTuntuk Spot VM.GPU_TYPE: jenis GPU. Anda dapat melihat daftar jenis GPU yang tersedia menggunakan perintahgcloud compute accelerator-types list. Hanya gunakan kolom ini untuk GPU untuk VM N1.GPU_COUNT: jumlah GPU dari jenis yang ditentukan. Untuk mengetahui informasi selengkapnya tentang opsi yang valid, lihat Jenis mesin GPU untuk seri mesin N1. Hanya gunakan kolom ini untuk GPU untuk VM N1.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Untuk membuat dan menjalankan tugas, gunakan perintah
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILEGanti kode berikut:
JOB_NAME: nama tugas.LOCATION: lokasi tugas.JSON_CONFIGURATION_FILE: jalur untuk file JSON dengan detail konfigurasi tugas.
API
Buat permintaan POST ke
metode jobs.create
yang menginstal driver GPU, menentukan
subkolom type dan count
dari kolom accelerators[], dan menggunakan lokasi yang memiliki jenis mesin
GPU.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU untuk VM N1 dan memungkinkan Batch memilih jenis mesin N1 yang tepat, buat permintaan berikut:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel": "PROVISIONING_MODEL",
"reservation": "NO_RESERVATION",
"accelerators": [
{
"type": "GPU_TYPE",
"count": GPU_COUNT
}
]
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ganti kode berikut:
PROJECT_ID: Project ID project Anda.LOCATION: lokasi tugas.JOB_NAME: nama tugas.INSTALL_GPU_DRIVERS: apakah akan menginstal driver GPU secara otomatis atau tidak. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicydari lokasi pihak ketiga, dan Batch akan menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU untuk tugas ini.PROVISIONING_MODEL: model penyediaan untuk opsi konsumsi Anda:STANDARDuntuk on-demand atauSPOTuntuk Spot VM.GPU_TYPE: jenis GPU. Anda dapat melihat daftar jenis GPU yang tersedia menggunakan perintahgcloud compute accelerator-types list. Hanya gunakan kolom ini untuk GPU untuk VM N1.GPU_COUNT: jumlah GPU dari jenis yang ditentukan. Untuk mengetahui informasi selengkapnya tentang opsi yang valid, lihat Jenis mesin GPU untuk seri mesin N1. Hanya gunakan kolom ini untuk GPU untuk VM N1.ALLOWED_LOCATIONS: lokasi yang diizinkan untuk tugas. Pastikan lokasi untuk resource Compute Engine tugas menawarkan jenis mesin GPU yang Anda inginkan untuk tugas ini dengan menggunakan salah satu opsi berikut:- Secara default, jika Anda menghapus kolom
allowedLocations[], tugas akan berjalan di resource Compute Engine yang dibuat di region lokasi tugas (LOCATION). - Secara opsional, jika Anda menyertakan
kolom
allowedLocations[], tugas hanya diizinkan untuk berjalan di resource Compute Engine yang dibuat di lokasi yang ditentukan.
- Secara default, jika Anda menghapus kolom
Java
Node.js
Python
Langkah berikutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas.
- Pelajari lebih lanjut opsi pembuatan tugas.