XProf: Accelerator Performance Analysis

XProf è uno strumento di profilazione e analisi delle prestazioni per il machine learning.

Funzionalità

  • Informazioni del profilo di alta qualità basate su eventi e contatori hardware e metadati del compilatore.
  • Basso overhead di raccolta, in genere < 1% sulle TPU e < 5% sulle GPU durante il periodo di profilazione.
  • Ampia suite di strumenti che forniscono una profonda comprensione del tuo workload:
    • Pagina Panoramica: visualizza una panoramica aggregata di primo livello del rendimento del modello durante l'esecuzione di un profilo, incluso il modo in cui ha utilizzato le risorse hardware.
    • Visualizzatore tracce: visualizza una sequenza temporale dettagliata degli eventi che si sono verificati e la parte del sistema che li ha eseguiti (ad es. CPU, TPU o GPU).
    • Visualizzatore grafici: visualizza la struttura del grafico del tuo programma XLA. Mostra il grafico delle operazioni di alto livello (HLO).
    • Visualizzatore memoria: visualizza l'utilizzo della memoria durante la durata del programma e analizza in dettaglio i contenuti della memoria nel punto di picco di utilizzo della memoria.
    • Profilo di memoria: visualizza l'utilizzo dinamico della memoria degli acceleratori durante l'esecuzione del programma.
    • Profilo delle operazioni HLO: comprendi il rendimento dell'hardware per diverse categorie di operazioni di alto livello (HLO) eseguite dal tuo programma.
    • Statistiche operazioni HLO: visualizza le statistiche sul rendimento delle operazioni di ottimizzazione di alto livello (HLO) eseguite dal tuo programma e identifica le operazioni più dispendiose in termini di tempo all'interno del grafico HLO.
    • Statistiche operazioni framework: visualizza le statistiche sul rendimento delle operazioni a livello di framework (ad es. JAX, TensorFlow o PyTorch/XLA) eseguito sull'host e sull'acceleratore.
    • Analisi del profilo di prestazioni: visualizza un modello di rendimento visivo intuitivo che mostra i limiti hardware intrinseci che influiscono sul rendimento del tuo programma, indicando se è limitato dalla memoria o dalla potenza di calcolo.
    • Statistiche su larga scala: analizza le prestazioni della comunicazione tra slice di carichi di lavoro che si estendono su più slice TPU che comunicano tramite la Data Center Network (DCN).
    • Statistiche del kernel della GPU: visualizza le statistiche sulle prestazioni e l'operazione del framework di origine per ogni kernel accelerato dalla GPU nel tuo programma.

Per iniziare

Per le istruzioni di installazione, consulta la Guida rapida di XProf.

Se utilizzi Google Cloud per eseguire i tuoi carichi di lavoro, ti consigliamo lo strumento xprofiler. Offre un'esperienza semplificata di raccolta e visualizzazione dei profili utilizzando VM che eseguono XProf.

Per una rapida demo delle funzionalità di XProf, prova il notebook demo.

Integrazione di TensorBoard

Storicamente, l'unico modo per installare e utilizzare XProf era TensorBoard. Questo era chiamato profilo del plug-in TensorBoard; alcune documentazioni meno recenti potrebbero ancora utilizzare questo termine. Questa integrazione ora è facoltativa: puoi considerare TensorBoard come un contenitore per la suite di strumenti XProf, che può anche essere installata e utilizzata in modo autonomo, con un comportamento identico.