HLO Op Stats Tool
Bir profil oluşturma oturumu sırasında yürütülen Yüksek Seviye Optimizasyon (HLO) işlemlerinin performans istatistiklerini görmek için HLO İşlem İstatistikleri'ni kullanabilirsiniz. Bu araç, profillenen dönemde HLO grafiğinizde en çok zaman harcanan işlemleri vurgulayarak performans optimizasyonu için potansiyel hedefleri belirlemede değerlidir.
Desteklenen Platformlar
TPU: Desteklenir
GPU: Desteklenir
GPU'larda HLO işlemleri, gerçekten yürütülen çekirdeklerle N:M ilişkisine sahiptir. Çekirdek düzeyindeki istatistikler için GPU Çekirdek İstatistikleri aracına bakın.
HLO Op Stats Tool Bileşenleri
HLO Op Stats aracı aşağıdaki temel bileşenleri içerir:
- HLO İşlem İstatistikleri Tablosu: Bu, profil oluşturma oturumu sırasında yürütülen her HLO işleminin ayrıntılı dökümünü tablo biçiminde sunan birincil bileşendir. Her farklı HLO işlemi için bir satır ve bu işlemle ilgili çeşitli ayrıntıları içeren sütunlar vardır.
- Açılır seçici, her HLO işlemi için hangi sütunları görselleştirmek istediğinize karar vermenizi sağlar.
- Ayrıca, ikinci bir açılır seçici aracılığıyla satırları HLO Op kategorisine göre de filtreleyebilirsiniz.
- Arama kutuları, belirli program kimliklerine, HLO işlemlerine, HLO işlem metnine veya çerçeve işlemi adına göre filtreleme yapmanıza olanak tanır. Filtreler, ilgili sütunun herhangi bir yerinde görünen sağlanan dize için seçilir.
- Özet Grafikler Bölümü: Bu bölümde, operasyon başına ayrıntılı tabloyu aşağıdaki şekillerde özetleyen grafikler bulunur:
- Farklı HLO işlemleri kategorilerinin tükettiği sürenin oranını gösteren pasta grafik.
- Farklı HLO işlemlerinin tükettiği sürenin oranını gösteren bir pasta grafiği (en çok kullanılan N işleme kısaltılır ve okunabilirliği artırmak için kalanlar "Diğer" olarak sınıflandırılır).
- Yeniden materyalleştirmenin bir parçası olan işlemlere harcanan toplam sürenin kesrini gösteren bir pasta grafiği. XProf bu bilgileri profille ilişkili derleyici meta verilerinden alır.
- Yeniden maddeleştirme süresinin (varsa) kullanıldığı HLO işlem kategorilerini gösteren pasta grafik.
- Dışarıda derleme işlemine harcanan süre: Dışarıda derleme, XLA hesaplaması içindeki belirli işlemlerin hızlandırıcı cihaz yerine ana CPU'da şeffaf bir şekilde çalışmasını sağlayan bir TensorFlow özelliğidir (ör. cihazın sahip olmadığı G/Ç erişimi gerektiren tf.summary veya tf.print).
- Tüm HLO işlemleri için GFLOPS/s değerini toplam kendi kendine çalışma süresine göre sıralayarak gösteren bir grafik.
- Yalnızca TPU'lar için, kopya grubuna göre HLO başına süre: Açılır menü, profil oluşturma oturumu sırasında yürütülen farklı toplu işlemlerden seçim yapmanıza olanak tanır. Bu toplu işlemin farklı örnekleri farklı kopya grupları arasında yürütülmüş olabilir (ör. AllGather); pasta grafikte, bu farklı örnekler arasındaki süre dağılımı gösterilir.
HLO İşlem İstatistikleri Tablosu Ayrıntıları
HLO işlem istatistikleri tablosunu sıralamak için sütun başlıklarından herhangi birini tıklayabilirsiniz. Varsayılan sıralama, operasyonun toplam kendi kendine çalışma süresine (tabloda "sıralama" olarak etiketlenmiştir) göre belirlenir.
Tabloda her HLO işlemi için aşağıdaki bilgiler yer alır:
- İşlem Adı: XLA derleyicisi tarafından HLO işlemine atanan benzersiz ad.
- Program kimliği: Bu işlemin ilişkili olduğu HLO modülünün tanımlayıcısıdır.
- HLO Op kategorisi: Bunlar büyük ölçüde XLA derleyicisi tarafından tanımlanır; XProf ayrıca belirli işlemleri (ör. topolojik birleştirme) tanımlamak ve kategorize etmek için sezgisel yöntemler kullanır.
- HLO işlem metni: XLA derleyicisi tarafından sağlanır ve girişlerin/parametrelerin türleri ve şekilleri gibi ayrıntıları içerir.
- Çerçeve işlemi adı: Çerçeve düzeyindeki işlem (ör. JAX) bu HLO işleminin oluşturulmasına neden oldu.
- Gerçekleşme sayısı: Bu belirli HLO işleminin, profil oluşturma döneminde toplam kaç kez yürütüldüğü.
- Toplam süre (μs): Bu işlemin tüm gerçekleşmelerinde harcanan kümülatif süre. Bu işlemin alt işlemleri varsa (ör. bir birleştirme içinde) bu süre, bu alt işlemlerde harcanan süreyi içerir.
- Ortalama süre (μs): Alt işlemlerde harcanan süre (varsa) dahil olmak üzere bu HLO işleminin yürütülmesi başına ortalama süre.
- Toplam kendi zamanı (μs): Alt işlemlerinde harcanan süre hariç, yalnızca bu HLO işleminin gövdesinde harcanan kümülatif süre.
- Ortalama kendi zamanı (μs): Alt işlemlerinde harcanan süre hariç, bu HLO işleminin yürütme başına ortalama süresi.
- Toplam kendi kendine çalışma süresi (%): İşlemin, tüm işlemler genelinde cihazdaki toplam sürenin yüzdesi olarak kendi kendine çalışma süresi.
- Kümülatif toplam kendi kendine çalışma süresi (%): "Sıralama" sırasına göre daha önce görünen tüm operatörler için toplam kendi kendine çalışma süresinin (%) değişen toplamı.
- DMA duraklaması (%): İşlemin Doğrudan Bellek Erişimi (DMA) işlemleri nedeniyle duraklatıldığı toplam sürenin yüzdesidir.
- FLOP'lar, HBM ve dahili TPU bellekleri (varsa) için bant genişliği tüketimi (kullanım/sn.) CMEM yalnızca TPU v4'te bulunur). Bunların tümü, derleyicinin statik maliyet analizi (payda) ve profillenmiş yürütme süresi (pay) kullanılarak hesaplanır.
- Model GFLOPS/s: GFLOPs maliyeti XLA derleyicisi tarafından hesaplanır ve süre profil tarafından ölçülür.
- Normalleştirilmiş GFLOPS/s: Derleyici tarafından hesaplanan FLOP'ları işlem başına sayısal hassasiyetine göre ve cihaz tarafından farklı hassasiyetlerde desteklenen en yüksek FLOP'ları normalleştirir. Örneğin, TPU v6e, int8'de bf16'ya kıyasla iki kat daha yüksek tepe FLOP'u destekler. XProf varsayılan olarak bf16'ya normalize eder.
- Bellek bant genişliği: İşlem tarafından herhangi bir bellekten (ör. çip üzerinde TPU VMEM ve HBM) tüketilen bayt/sn sayısı. XLA derleyicisi "bayt" sayısını sağlar ve süre profilde ölçülür.
- HBM BW: Özellikle HBM'den tüketilen bayt/sn sayısı.
- İşlem yoğunluğu: Çatı çizgisi analizi için tanımlandığı şekilde, bayt başına FLOPS oranı olarak hesaplanır.
- Hesaplama/Bellek sınırı: Roofline modeline dayalı olarak bu sütun, işlemin performansının öncelikle hesaplama özellikleri veya bellek bant genişliği tarafından sınırlanıp sınırlanmadığını gösterir.
- Yeniden maddeleştirme: İşlemin yeniden maddeleştirmenin bir parçası olup olmadığını belirtir.
- Harici derleme: İşlemin, Tensorflow'un harici derleme olanağı kullanılarak ana makine CPU'sunda çalışıp çalışmadığını gösterir.
- Otomatik ayarlandı: İşlemin XLA tarafından otomatik olarak ayarlanıp ayarlanmadığını belirtir. Daha fazla bilgi için Otomatik ayarlama ve Kalıtlı otomatik ayarlama başlıklı makaleleri inceleyin.