Alat Profil Memori
Anda dapat menggunakan Profil Memori untuk memvisualisasikan penggunaan memori dari waktu ke waktu pada akselerator.
Platform yang Didukung
TPU: Didukung
GPU: Didukung
Menggunakan Alat Profil Memori
Profil Memori memiliki komponen berikut:
- Pemilih ID Memori di bagian atas halaman memungkinkan Anda berfokus pada Memori Bandwidth Tinggi (HBM) yang terpasang ke salah satu akselerator berbeda yang dapat terhubung ke host yang sedang dibuat profilnya, atau bahkan memori host dalam kasus tertentu.
- “Grafik Linimasa Memori” dan “Ringkasan Profil Memori” menangkap informasi tingkat tinggi tentang alokasi, penghapusan alokasi, dan penggunaan memori selama sesi pembuatan profil, termasuk pengelompokan di seluruh stack dan heap, serta dampak fragmentasi apa pun.
- Tabel perincian memori memberikan informasi tentang operasi tingkat framework yang paling berkontribusi pada penggunaan memori. Ada juga detail per operasi tambahan seperti bentuk, jenis data, dll., jika informasi ini disediakan oleh compiler ke XProf. Tabel ini menunjukkan detail tersebut pada titik penggunaan puncak dalam periode pembuatan profil, untuk membantu proses debug situasi Kehabisan Memori (OOM).
- Alokasi dan penghapusan alokasi dikelola (dan ditambahkan ke profil) oleh allocator runtime XLA, yang memiliki seluruh ruang memori HBM.
- Perhatikan bahwa Profil Memori biasanya lebih menarik dan berharga untuk pembuatan profil GPU daripada untuk workload TPU. Model eksekusi TPU biasanya melibatkan alokasi awal yang besar oleh compiler XLA, bukan selama pelatihan atau inferensi model. Oleh karena itu, Anda akan sering melihat bahwa diagram alokasi terlihat seperti garis horizontal datar; semua alokasi kemungkinan terjadi di awal profil (jika profiler aktif pada titik tersebut dalam proses berjalan), sehingga sulit dilihat.
- Metrik fragmentasi dalam ringkasan profil memori dan grafik linimasa memori (sebagai persentase) membantu mengidentifikasi masalah fragmentasi memori. Nilai fragmentasi yang tinggi menunjukkan bahwa meskipun mungkin ada total memori bebas yang cukup, memori tersebut tidak berdekatan, sehingga permintaan alokasi yang besar mungkin gagal.
Beberapa perbedaan utama antara alat ini dan alat Memory Viewer:
- Memory Viewer sepenuhnya statis dan berfokus pada urutan program; Profil Memori memberikan tampilan dinamis dari waktu ke waktu selama interval pembuatan profil.
- Memory Viewer memvisualisasikan alokasi memori berdasarkan modul XLA; untuk beban kerja yang terdiri dari beberapa modul XLA, Profil Memori memberikan tampilan global memori.