Ferramenta Graph Viewer

Você pode usar o Visualizador de gráficos para conferir a estrutura do seu programa XLA. Ele mostra o gráfico de operações de alto nível (HLO, na sigla em inglês).

Plataformas compatíveis

TPU: compatível

GPU: compatível

Componentes da interface

O Visualizador de gráficos pode ser controlado com as seguintes opções:

  1. Um menu suspenso "Select XLA Module", em que você escolhe um módulo HLO na lista disponível para visualização.

  2. Uma caixa "Op Name", em que você insere o nome de uma operação para selecioná-la como o nó principal e visualizar os vizinhos. Pressionar Enter depois de digitar o nome da operação vai mostrar os nós ao redor.

  3. Um seletor de largura de gráfico, que controla a distância máxima dos nós do nó principal incluído na visualização.

  4. Um seletor de metadados, que você usa para alternar a exibição de metadados de operação incluídos pelo compilador, se houver. Depois de selecionar essa caixa de seleção, você precisa clicar em "Search Graph" novamente.

  5. Uma caixa de seleção de fusão de mesclagem que pode ser usada para fechar ou abrir os componentes de operações combinadas. Você vai precisar clicar em "Search Graph" novamente depois de ativar essa caixa de seleção.

  6. Botões ou teclas de zoom, mas você também pode usar o mouse para aplicar zoom.

  7. Links para fazer o download do gráfico como arquivos SVG ou de pontos.

  8. Ao usar a funcionalidade de pesquisa, você pode localizar e se concentrar rapidamente em operações específicas no gráfico potencialmente grande.

  9. Para congelar o painel de dados de execução em uma operação específica, clique com o botão direito do mouse nela.

Como usar o Visualizador de gráficos

Por padrão, nenhuma operação é selecionada no Visualizador de gráficos. Portanto, você verá uma tela vazia. Pesquise a operação de interesse para aumentar o zoom e começar a percorrer o gráfico. Muitas vezes, você começa com uma das outras ferramentas (por exemplo, o perfil de operação para identificar a operação que consome mais tempo ou o Trace Viewer para identificar a causa de um balão de pipeline). Clicar na operação nessas ferramentas vai gerar um link direto para a mesma operação no Visualizador de gráficos.

Ao passar o cursor sobre uma caixa (que representa uma operação HLO), você pode ver a linha do código do usuário correspondente à operação em que a função foi definida. Essas informações só estarão disponíveis se esses metadados forem fornecidos ao XProf por meio das várias camadas de transformação que o programa Python passa para gerar um executável de acelerador.

O perfilador recebe informações no nível do HLO de um gráfico de "HLO otimizado", próximo ao ponto em que ele está pronto para ser reduzido ao código específico do acelerador pelo back-end do compilador. O Visualizador de gráficos e todas as ferramentas do XProf processam essa representação de HLO interna do XLA de baixo nível, em vez de StableHLO ou uma representação próxima ao framework de ML.

Embora o gráfico seja puramente estático e seja adquirido diretamente do XLA, mesmo sem executar o programa, o Visualizador de gráficos sobrepõe outras informações de execução no gráfico para torná-lo mais útil. Por exemplo, passar o cursor sobre uma opção mostra uma seção no lado esquerdo da interface indicando quantas vezes essa opção foi executada na duração do perfil e qual foi o tempo médio de execução. Ele também calcula e exibe vários números de utilização e largura de banda. Eles usam a análise de custo estático da XLA para FLOPS e bytes consumidos e calculam uma taxa com base no tempo de execução medido.