Metrik GPU Dataflow

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:

Contoh pemfilteran metrik GPU menurut perangkat