Dokumen ini menjelaskan cara membuat dan menjalankan tugas yang menggunakan unit pemrosesan grafis (GPU).
Saat membuat tugas Batch, Anda dapat secara opsional menambahkan satu atau beberapa GPU ke VM yang menjalankannya. Kasus penggunaan umum untuk tugas yang menggunakan GPU mencakup pemrosesan data yang intensif dan workload machine learning (ML).
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 diperlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
-
Batch Job Editor (
roles/batch.jobsEditor
) pada project -
Service Account User (
roles/iam.serviceAccountUser
) pada akun layanan tugas, yang secara default adalah akun layanan Compute Engine default
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Batch Job Editor (
Membuat tugas yang menggunakan GPU
Untuk membuat tugas yang menggunakan GPU, lakukan hal berikut:
- Tinjau bagian Persyaratan tugas untuk menggunakan GPU guna menentukan metode yang dapat Anda gunakan untuk membuat tugas.
- Buat tugas dengan metode yang Anda pilih. Untuk contoh cara membuat tugas menggunakan metode yang direkomendasikan, lihat bagian Membuat contoh tugas yang menggunakan GPU.
Persyaratan agar tugas dapat menggunakan GPU
Untuk menggunakan GPU, tugas harus melakukan semua hal berikut:
- Instal driver GPU yang diperlukan secara otomatis atau manual, bergantung pada persyaratan tugas.
- Jika tugas Anda menentukan resource lain untuk VM tugas (secara langsung atau menggunakan template instance VM), tugas tersebut harus menentukan resource VM yang kompatibel.
Setelah menentukan cara memenuhi persyaratan ini untuk tugas Anda, Anda juga perlu menentukan GPU dan lokasi tugas. Setiap VM tugas dapat menggunakan satu atau beberapa GPU dari jenis yang Anda tentukan. Lokasi yang diizinkan untuk VM tugas (atau jika tidak ditentukan, lokasi tugas) harus memiliki jenis GPU yang telah ditentukan. Untuk informasi selengkapnya tentang menentukan jenis GPU, nomor GPU, dan lokasi yang valid untuk tugas, lihat contoh.
Menginstal driver GPU
Untuk menginstal driver GPU yang diperlukan, pilih salah satu metode berikut:
Instal driver secara otomatis (direkomendasikan jika memungkinkan): Seperti yang ditunjukkan pada contoh, untuk mengizinkan Batch mengambil driver GPU yang diperlukan dari lokasi pihak ketiga dan menginstalnya atas nama Anda, tetapkan kolom
installGpuDrivers
untuk tugas ketrue
. Metode ini direkomendasikan jika tugas Anda tidak mengharuskan Anda menginstal driver secara manual.Instal driver secara manual: Metode ini diperlukan jika salah satu kondisi berikut terpenuhi:
- Tugas menggunakan skrip dan container yang dapat dijalankan, 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, baca ringkasan lingkungan VM OS.
Untuk menginstal driver GPU yang diperlukan secara manual, metode berikut direkomendasikan:
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 yang dapat dijalankan dan tidak menggunakan Container-Optimized OS, Anda juga harus menginstal NVIDIA Container Toolkit
Buat dan kirim tugas dengan image VM kustom dengan menggunakan template instance Compute Engine. Tetapkan kolom
installGpuDrivers
untuk tugas kefalse
(default).
Menentukan resource VM yang kompatibel
Jika tugas Anda menentukan salah satu resource VM (salah satu dari subkolom instances[]
) selain GPU, Anda harus menentukan resource VM tersebut dengan cara yang kompatibel.
Untuk menentukan resource untuk VM tugas, termasuk GPU apa pun, Anda hanya dapat menggunakan metode berikut:
- Menentukan resource secara langsung (direkomendasikan): Seperti yang ditunjukkan dalam
contoh, guna
menentukan resource untuk VM tugas secara langsung, gunakan
kolom
policy
. - Tentukan resource dalam template: Tentukan resource untuk VM tugas dengan menentukan template instance Compute Engine.
Selain itu, semua resource yang Anda tentukan harus kompatibel dengan jenis dan jumlah GPU untuk tugas tersebut. Untuk mengetahui informasi selengkapnya tentang resource VM yang dapat Anda gunakan dengan GPU, lihat platform GPU dalam dokumentasi Compute Engine.
Membuat contoh tugas yang menggunakan GPU
Anda dapat membuat tugas yang menggunakan GPU dengan gcloud CLI atau Batch API.
gcloud
Buat file JSON yang menentukan detail konfigurasi tugas, subkolom
type
dancount
dari kolomaccelerators[]
, dan lokasi yang memiliki jenis GPU tersebut.Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU, menginstal driver GPU yang diperlukan secara otomatis, dan menentukan lokasi yang diizinkan untuk VM tugas tersebut, 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": { "accelerators": [ { "type": "GPU_TYPE", "count": GPU_COUNT } ] } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } } }
Ganti kode berikut:
INSTALL_GPU_DRIVERS
: Opsional. Jika ditetapkan ketrue
, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicy
dari lokasi pihak ketiga, dan Batch menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse
(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU apa pun untuk tugas ini.GPU_TYPE
: jenis GPU. Anda dapat melihat daftar jenis GPU yang tersedia dengan menggunakan perintahgcloud compute accelerator-types list
.GPU_COUNT
: jumlah GPU dari jenis yang ditentukan.ALLOWED_LOCATIONS
: Opsional. Lokasi tempat instance VM untuk tugas Anda diizinkan untuk dijalankan—misalnya,regions/us-central1, zones/us-central1-a
memungkinkan zonaus-central1-a
. Jika menentukan lokasi yang diizinkan, Anda harus memilih region, dan secara opsional, satu atau beberapa zona. Lokasi yang Anda pilih harus memiliki jenis GPU yang Anda inginkan untuk tugas ini. Jika tidak, jika Anda menghilangkan kolom ini, lokasi tugas harus memiliki jenis GPU. Untuk mengetahui informasi selengkapnya, lihat kolomallowedLocations[]
.
Untuk membuat dan menjalankan tugas, gunakan perintah
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Ganti kode berikut:
JOB_NAME
: nama pekerjaan.LOCATION
: lokasi tugas.JSON_CONFIGURATION_FILE
: jalur untuk file JSON dengan detail konfigurasi tugas.
API
Buat permintaan POST
ke
metode jobs.create
yang menentukan detail konfigurasi tugas, subkolom type
dan count
dari kolom accelerators[]
, dan lokasi yang memiliki
jenis GPU tersebut.
Misalnya, untuk membuat tugas skrip dasar yang menggunakan GPU, menginstal driver GPU yang diperlukan secara otomatis, dan menentukan lokasi yang diizinkan untuk VM tugas tersebut, buat file JSON dengan konten 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": {
"accelerators": [
{
"type": "GPU_TYPE",
"count": GPU_COUNT
}
]
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
}
}
Ganti kode berikut:
PROJECT_ID
: project ID project Anda.LOCATION
: lokasi tugas.JOB_NAME
: nama pekerjaan.INSTALL_GPU_DRIVERS
: Opsional. Jika ditetapkan ketrue
, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan di kolompolicy
dari lokasi pihak ketiga, dan Batch menginstalnya untuk Anda. Jika Anda menetapkan kolom ini kefalse
(default), Anda harus menginstal driver GPU secara manual agar dapat menggunakan GPU apa pun untuk tugas ini.GPU_TYPE
: jenis GPU. Anda dapat melihat daftar jenis GPU yang tersedia dengan menggunakan perintahgcloud compute accelerator-types list
.GPU_COUNT
: jumlah GPU dari jenis yang ditentukan.ALLOWED_LOCATIONS
: Opsional. Lokasi tempat instance VM untuk tugas Anda diizinkan untuk dijalankan—misalnya,regions/us-central1, zones/us-central1-a
memungkinkan zonaus-central1-a
. Jika menentukan lokasi yang diizinkan, Anda harus memilih region, dan secara opsional, satu atau beberapa zona. Lokasi yang Anda pilih harus memiliki jenis GPU yang Anda inginkan untuk tugas ini. Jika tidak, jika Anda menghilangkan kolom ini, lokasi tugas harus memiliki jenis GPU. Untuk mengetahui informasi selengkapnya, lihat kolomallowedLocations[]
.
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas dan tugas.
- Pelajari opsi pembuatan lowongan lebih lanjut.