Halaman ini membahas metrik GPU yang didukung di Dataflow. Anda dapat menggunakan metrik ini untuk memantau kondisi dan penggunaan GPU. Sebagian besar metrik didukung di semua tugas Dataflow, tetapi beberapa metrik memerlukan konfigurasi tambahan untuk banyak model GPU.
Prasyarat
Metrik GPU hanya dikumpulkan oleh tugas Dataflow yang telah secara eksplisit meminta GPU. Untuk mengetahui informasi selengkapnya, lihat Dukungan GPU.
Ringkasan
Meskipun Dataflow melaporkan banyak metrik GPU, metrik utamanya adalah total dan memori yang digunakan, yang setara dengan metrik RAM, serta Aktivitas Streaming Multiprocessor (SM) dan Jumlah Pengguna SM, yang merupakan metrik yang paling setara dengan metrik CPU Dataflow. Metrik lainnya dibahas di bagian metrik umum dan metrik GPM.
Total dan memori yang digunakan dari setiap perangkat GPU pada tugas dilaporkan secara default. Di antarmuka pemantauan Dataflow, metrik ini muncul di bagian "Penggunaan GPU dasar". Metrik ini tidak sama dengan "Persentase akses memori", yang juga berada di bagian metrik GPU dasar, tetapi melaporkan persentase waktu saat memori perangkat GPU diakses.
Aktivitas SM dan Hunian SM adalah metrik GPM. Metrik ini tidak didukung di perangkat P4 dan P100, dan didukung secara default di perangkat H100 dan yang lebih baru. Untuk semua perangkat lainnya, seperti perangkat T4 dan L4, penyiapan tambahan diperlukan. Untuk mengetahui langkah-langkah mengaktifkannya, lihat Pengumpulan GPM. Jika dikumpulkan pada tugas, metrik ini berada di bagian "Penggunaan GPM GPU" di antarmuka pemantauan Dataflow.
Dasar-dasar metrik GPU Dataflow
Semua metrik GPU dikirim oleh pekerja Dataflow ke Cloud Monitoring. Metrik per perangkat dapat ditemukan di bagian
dataflow.googleapis.com/worker/accelerator/gpu. Semua metrik ini dikelompokkan ke dalam kategori umum, seperti pemanfaatan atau suhu, dan semuanya memiliki label berikut:
- device_uuid: Mengidentifikasi perangkat GPU secara unik, terlepas dari worker atau pipeline.
- device_number: Nomor yang ditetapkan ke perangkat di pekerja dalam rentang [0, N), dengan N adalah jumlah perangkat GPU di pekerja.
- device_model: Model GPU, seperti "Tesla T4".
device_uuid dan device_model tidak bergantung pada pekerja dan selalu sama untuk perangkat fisik yang sama. device_number terikat dengan cara
ID tersebut diidentifikasi di pekerja tersebut.
Metrik GPU umum untuk Dataflow
Metrik umum dilaporkan oleh setiap tugas Dataflow dengan GPU. Di Monitoring, semuanya menggunakan format berikut:
dataflow.googleapis.com/worker/accelerator/gpu/CATEGORY/NAME
Tabel berikut menunjukkan setiap metrik dan kategori, nama, unit, serta tujuannya.
| Metrik | Kategori | Nama | Unit | Deskripsi |
|---|---|---|---|---|
| Persentase Berjalan Kernel | penggunaan | device_kernel_runtime | Persen | Persentase waktu saat setidaknya satu kernel berjalan di GPU. Hal ini hanya menunjukkan bahwa GPU sedang digunakan, bukan apakah resource pemrosesannya digunakan secara efisien atau tidak. |
| Persentase Akses Memori | penggunaan | device_memory_access | Persen | Persentase waktu saat memori perangkat sedang dibaca atau ditulis. Hal ini hanya menunjukkan bahwa memori sedang diakses, bukan persentase memori yang digunakan. |
| Batas Memori | memory | device_limit | MiB | Jumlah memori yang tersedia di GPU. |
| Pemakaian Memori | memory | device_usage | MiB | Jumlah memori yang digunakan oleh GPU. Hal ini mencakup memori yang digunakan oleh tugas Dataflow dan memori yang dicadangkan untuk firmware, sehingga beberapa penggunaan diharapkan terjadi meskipun belum ada memori yang ditransfer ke GPU. |
| Batas Daya | daya | device_limit | Watts | Jumlah daya maksimum yang ditetapkan untuk digunakan perangkat. Dataflow tidak mengubahnya dari default. |
| Penggunaan Daya | daya | device_usage | Watts | Jumlah daya yang digunakan oleh perangkat. |
| Suhu Saat Ini | suhu | device_current | Celsius | Suhu GPU saat ini. |
| Suhu Pengoperasian Maksimum | suhu | device_max_op | Celsius | Suhu yang harus dijaga agar GPU tetap berada di bawahnya. Jika suhu saat ini melebihi suhu ini, driver GPU akan mencoba mendinginkan GPU hingga berada di bawah suhu ini. Dataflow tidak mengontrol hal ini. |
| Suhu Pelambatan | suhu | device_slowdown | Celsius | Suhu saat GPU akan mulai membatasi kecepatan. Jika suhu saat ini melebihi suhu ini, Anda akan melihat penurunan performa hingga suhu mendingin. Dataflow tidak mengontrol hal ini. |
| Suhu Penonaktifan | suhu | device_shutdown | Celsius | Suhu saat GPU akan dinonaktifkan. Jika suhu saat ini melebihi suhu ini, perangkat akan menjadi tidak tersedia. Dataflow tidak mengontrol suhu ini, dan tidak berupaya secara aktif memulihkan GPU yang telah dimatikan karena suhu yang terlalu tinggi. |
| SM Clock Saat Ini | jam | device_sm_current | MHz | Kecepatan clock SM saat ini. Jika suhu melebihi batas pelambatan, kecepatan ini dapat menurun sebagai bagian dari pembatasan terkait pendinginan. |
| Clock SM Maks | jam | device_sm_max | MHz | Kecepatan maksimum clock SM. |
| Kecepatan Memori Saat Ini | jam | device_memory_current | MHz | Kecepatan clock memori saat ini. Jika suhu melebihi batas pelambatan, kecepatan ini dapat menurun sebagai bagian dari pembatasan terkait pendinginan. |
| Kecepatan Clock Memori Maksimum | jam | device_memory_max | MHz | Kecepatan maksimal clock memori. |
Metrik GPM untuk Dataflow
Dataflow menawarkan beberapa dukungan untuk metrik GPM. Tingkat dukungan bergantung pada model GPU dan konfigurasi akselerator. Secara default, sebagian besar tugas Dataflow dengan GPU akan memerlukan beberapa konfigurasi tambahan.
Metrik GPM mengikuti dasar-dasar yang sama seperti metrik umum.
Metrik yang didukung
Serupa dengan metrik umum, jalur metrik GPM memiliki format berikut:
dataflow.googleapis.com/worker/accelerator/gpu/CATEGORY/NAME
Beberapa metrik ini berada dalam kategori yang sama dengan beberapa metrik umum.
| Metrik | Kategori | Nama | Unit | Deskripsi |
|---|---|---|---|---|
| Aktivitas SM | penggunaan | device_sm_activity | Persen | Persentase waktu warp aktif di SM dirata-ratakan di semua SM pada perangkat. Hal ini mirip dengan Persentase Kernel yang Berjalan, tetapi menawarkan gambaran yang lebih terperinci yang lebih baik menunjukkan apakah resource GPU digunakan secara efisien. NVIDIA mendefinisikan penggunaan yang efektif sebagai 80% atau lebih, dengan 50% atau kurang sebagai penggunaan yang tidak efektif. |
| Jumlah Tamu SM | penggunaan | device_sm_occupancy | Persen | Persen warp aktif pada perangkat relatif terhadap maksimum. Tugas yang dibatasi memori harus memiliki okupansi yang lebih tinggi daripada tugas yang dibatasi komputasi, dan metrik Persentase Akses Memori dapat memberikan insight tentang hal ini. Detail selengkapnya dapat ditemukan di dokumentasi NVIDIA tentang okupansi yang dicapai. |
| Aktivitas Tensor Pipe | penggunaan | device_tensor_pipe_activity | Persen | Persentase waktu saat pipeline Tensor Core digunakan. Nilai yang lebih tinggi menunjukkan penggunaan Inti Tensor GPU yang lebih banyak, yang penting untuk operasi matriks. |
| Aktivitas FP64 Pipe | penggunaan | device_fp64_pipe_activity | Persen | Persentase waktu saat pipeline FP64 Core digunakan. Nilai yang lebih tinggi menunjukkan penggunaan Inti FP64 GPU yang lebih banyak, yang menangani operasi skalar nilai floating point 64-bit. |
| Aktivitas FP32 Pipe | penggunaan | device_fp32_pipe_activity | Persen | Persentase waktu saat pipeline Inti FP32 digunakan. Nilai yang lebih tinggi menunjukkan penggunaan Inti FP32 GPU yang lebih banyak, yang menangani operasi skalar nilai floating point 32-bit. |
| Aktivitas Pipeline FP16 | penggunaan | device_fp16_pipe_activity | Persen | Persentase waktu saat pipeline FP16 digunakan. Tidak seperti FP64 dan FP32, yang masing-masing terkait dengan core CUDA 64-bit dan 32-bit, FP16 terkait dengan pemanfaatan kemampuan presisi setengah Tensor core. |
| Baca PCIe | pcie | device_read | MiB/dtk | Kecepatan data yang dibaca oleh GPU dari VM host melalui PCIe. |
| Transfer PCIe | pcie | device_transfer | MiB/dtk | Kecepatan transfer data dari GPU ke VM host melalui PCIe. |
| NVLink Read | nvlink | device_read | MiB/dtk | Kecepatan data yang dibaca oleh GPU melalui NVLink. Karena NVLink hanya mencakup komunikasi GPU-ke-GPU, hal ini tidak relevan jika setiap pekerja hanya memiliki satu GPU. |
| Transfer NVLink | nvlink | device_transfer | MiB/dtk | Kecepatan transfer data dari GPU melalui NVLink. Karena NVLink hanya mencakup komunikasi GPU-ke-GPU, hal ini tidak relevan jika setiap pekerja hanya memiliki satu GPU. |
Mengumpulkan metrik GPM
Semua tugas Dataflow dengan GPU yang menggunakan arsitektur Hopper atau yang lebih baru (mis. H100, H100 Mega) mengumpulkan metrik GPM secara default, sehingga tidak diperlukan konfigurasi tambahan. Namun, tugas yang menggunakan arsitektur Pascal atau yang lebih lama (seperti P4 dan P100) tidak mendukung metrik ini.
Untuk semua model lainnya, pengumpulan metrik ini memerlukan penambahan
install-gke-dcgm-exporter ke konfigurasi akselerator pekerja. Misalnya:
--experiment="worker_accelerator=type:TYPE;count:COUNT;install-nvidia-driver;install-gke-dcgm-exporter"
Flag ini menginstal yang setara dengan NVIDIA DCGM-exporter yang dikelola GKE. Jenis berikut mendukung opsi ini:
- nvidia-l4
- nvidia-tesla-a100
- nvidia-a100-80gb
- nvidia-tesla-t4
- nvidia-tesla-v100
Jika jenis lain diberikan, layanan Dataflow akan menampilkan error saat pembuatan tugas. Pemeriksaan ini membantu Anda menghindari menjalankan penampung pada tugas yang tidak membantu pengumpulan metrik.
Metrik Lama
Di Monitoring, Anda mungkin melihat dua metrik bernama
dataflow.googleapis.com/job/gpu_utilization dan
dataflow.googleapis.com/job/gpu_memory_utilization. Metrik ini serupa dengan Kernel Running Percentage dan Memory Access Percentage, tetapi pekerja melaporkannya dengan menghitung rata-rata di seluruh GPU pada pekerja. Sebaiknya gunakan nilai yang setara per perangkat, terutama jika pekerja dikonfigurasi untuk memiliki lebih dari satu GPU.
UI Dataflow
Jika tugas Dataflow memiliki GPU yang terpasang pada pekerja, metrik akan muncul di tab "Metrik Tugas" di halaman tugas, dalam kategori "ML Dataflow". Kategori ini tidak muncul pada tugas tanpa GPU, dan memerlukan waktu beberapa detik untuk dimuat, karena kategori ini terlebih dahulu memverifikasi bahwa metrik relevan dengan tugas.
Subkategori berikut muncul di bagian "Dataflow ML":
| Sub-Kategori | Metrik | Kondisi |
|---|---|---|
| Penggunaan GPU dasar | Persentase Berjalan Kernel Persentase Akses Memori Total/Memori yang Digunakan |
Semua tugas GPU |
| Performa GPU | Penarikan/Batas Daya Pembacaan/Batas Suhu |
Semua tugas GPU |
| Penggunaan GPM GPU | Aktivitas SM Aktivitas SM Occupancy Aktivitas CUDA/Tensor pipe |
Metrik GPM diaktifkan |
| I/O GPM GPU | Baca/Transfer PCIe Baca/Transfer NVLink |
Metrik GPM diaktifkan |
| Penggunaan GPU lama | Metrik Lama | Semua tugas GPU |
Saat melihat metrik non-lama, Anda dapat memfilter diagram ke nama pekerja dan nomor perangkat GPU tertentu. Nama pekerja sama dengan nama VM jika dilihat di Compute Engine. Nomor perangkat GPU sama dengan label metrik. Anda dapat menggunakan pemfilteran ini untuk memeriksa metrik pada perangkat GPU tertentu, seperti melihat seberapa dekat penggunaan dayanya dengan batasnya:
