XProf: Análisis del rendimiento del acelerador

XProf es una herramienta de análisis de rendimiento y generación de perfiles para el aprendizaje automático.

Funciones

  • Información de perfil de alta calidad basada en eventos y contadores de hardware, y metadatos del compilador
  • Baja sobrecarga de recopilación, por lo general, menos del 1% en las TPU y menos del 5% en las GPU durante el período de generación de perfiles
  • Amplio paquete de herramientas que proporcionan una comprensión profunda de tu carga de trabajo:
    • Página de descripción general: Consulta una vista agregada de nivel superior del rendimiento de tu modelo durante una ejecución de perfil, incluido el nivel de aprovechamiento de los recursos de hardware.
    • Trace Viewer: Visualiza un cronograma detallado de los eventos que ocurrieron y qué parte del sistema los ejecutó (p.ej., CPU, TPU o GPU).
    • Graph Viewer: Visualiza la estructura del grafo de tu programa de XLA. Muestra el gráfico de operaciones de alto nivel (HLO).
    • Lector de memoria: Visualiza el uso de memoria durante el ciclo de vida del programa y profundiza en los detalles del contenido de la memoria en el punto de pico de uso de memoria.
    • Perfil de memoria: Visualiza el uso de memoria dinámica de tus aceleradores durante la ejecución de tu programa.
    • Perfil de operaciones de HLO: Comprende el rendimiento del hardware para diferentes categorías de operaciones de alto nivel (HLO) que ejecuta tu programa.
    • Estadísticas de operaciones de HLO: Consulta las estadísticas de rendimiento de las operaciones del optimizador de alto nivel (HLO) que ejecuta tu programa y, luego, identifica las operaciones que consumen más tiempo en tu gráfico de HLO.
    • Estadísticas de operaciones del framework: Consulta las estadísticas de rendimiento de las operaciones a nivel del framework (p.ej., JAX, TensorFlow o PyTorch/XLA) que se ejecutan en el host y el acelerador.
    • Análisis de techo: Consulta un modelo de rendimiento visual intuitivo que muestra las limitaciones inherentes del hardware que afectan el rendimiento de tu programa, lo que indica si está limitado por la memoria o por la capacidad de procesamiento.
    • Megascale Stats: Analiza el rendimiento de la comunicación entre porciones de las cargas de trabajo que abarcan varias porciones de TPU que se comunican a través de la red del centro de datos (DCN).
    • Estadísticas del kernel de GPU: Consulta las estadísticas de rendimiento y la operación del framework de origen para cada kernel acelerado por GPU en tu programa.

Comenzar

Para obtener instrucciones de instalación, consulta la Guía de inicio rápido de XProf.

Si usas Google Cloud para ejecutar tus cargas de trabajo, te recomendamos la herramienta xprofiler. Proporciona una experiencia optimizada de recopilación y visualización de perfiles con VMs que ejecutan XProf.

Para obtener una demostración rápida de las capacidades de XProf, prueba el notebook de demostración.

Integración de TensorBoard

Históricamente, la única forma de instalar y usar XProf era a través de TensorBoard. Esto se denominó perfil del complemento de TensorBoard, y es posible que en documentación anterior aún se use este término. Esta integración ahora es opcional: puedes pensar en TensorBoard como un contenedor del paquete de herramientas de XProf, que también se puede instalar y usar de forma independiente, con un comportamiento idéntico.