Strumento visualizzatore grafico

Puoi utilizzare Graph Viewer per visualizzare la struttura del grafo del programma XLA. Viene visualizzato il grafico Operazioni di alto livello (HLO).

Piattaforme supportate

TPU: supportata

GPU: supportata

Componenti dell'interfaccia

Graph Viewer può essere controllato con le seguenti opzioni:

  1. Un menu a discesa Seleziona modulo XLA, da cui puoi scegliere un modulo HLO dall'elenco disponibile per la visualizzazione.

  2. Una casella Nome operazione, in cui inserire il nome di un'operazione per selezionarla come nodo principale e visualizzarne i vicini. Se premi Alt+Invio dopo aver digitato il nome dell'operazione, vengono visualizzati i nodi circostanti.

  3. Un selettore Larghezza grafico, che controlla la distanza massima dei nodi dal nodo primario incluso nella visualizzazione.

  4. Un selettore di metadati, che viene utilizzato per attivare/disattivare la visualizzazione dei metadati dell'operazione inclusi dal compilatore, se presenti. Tieni presente che devi fare di nuovo clic su "Cerca grafico" dopo aver selezionato questa casella di controllo.

  5. Una casella di controllo Unisci fusione che puoi utilizzare per comprimere o espandere i componenti delle operazioni fuse. Tieni presente che dovrai fare di nuovo clic su "Grafico di ricerca" dopo aver attivato/disattivato questa casella di controllo.

  6. Pulsanti o tasti per aumentare/diminuire lo zoom, anche se puoi anche utilizzare il mouse per aumentare lo zoom.

  7. Link per scaricare il grafico come file SVG o dot.

  8. Utilizzando la funzionalità di ricerca, puoi individuare e concentrarti rapidamente su operazioni specifiche all'interno del grafico potenzialmente di grandi dimensioni.

  9. Per bloccare il riquadro dei dati di runtime su una determinata operazione, fai clic con il tasto destro del mouse sull'operazione.

Utilizzo di Graph Viewer

Per impostazione predefinita, non sono selezionate operazioni in Visualizzatore grafici, quindi viene visualizzata una schermata vuota. Cerca l'operazione di tuo interesse per aumentarne lo zoom e iniziare a esaminare il grafico. Spesso, si inizia con uno degli altri strumenti (ad esempio Op Profile per identificare l'operazione che richiede più tempo o Trace Viewer per identificare la causa di una bolla della pipeline). Se fai clic sull'operazione in questi strumenti, visualizzerai un link diretto alla stessa operazione nel visualizzatore di grafici.

Se passi il mouse sopra una casella (che rappresenta un'operazione HLO), spesso potresti vedere la riga del codice utente corrispondente all'operazione in cui è stata definita la funzione. Queste informazioni sono disponibili solo se i metadati vengono forniti a XProf tramite più livelli di trasformazione che il programma Python subisce durante la generazione di un programma executable dell'acceleratore.

Tieni presente che il profiler riceve informazioni a livello di HLO da un grafo "HLO ottimizzato", vicino al punto in cui è pronto per essere ridotto a codice specifico dell'acceleratore dal backend del compilatore. Graph Viewer e tutti gli strumenti XProf gestiscono quindi questa rappresentazione HLO interna di XLA a basso livello, anziché StableHLO o una rappresentazione simile al framework ML.

Sebbene il grafico stesso sia puramente statico e venga acquisito direttamente da XLA anche senza eseguire il programma, Graph Viewer sovrappone al grafico informazioni di runtime aggiuntive per renderlo più utile. Ad esempio, se passi il mouse sopra un'operazione, sul lato sinistro dell'interfaccia utente viene visualizzata una sezione che indica quante volte l'operazione è stata eseguita durante la durata del profilo e il tempo di esecuzione medio. Inoltre, calcola e mostra vari valori di utilizzo e larghezza di banda. Questi valori prendono l'analisi dei costi statica da XLA per FLOPS e byte consumati e calcolano una tariffa in base al tempo di esecuzione misurato.