XProf est un outil de profilage et d'analyse des performances pour le machine learning.
Fonctionnalités
- Informations de profil de haute qualité basées sur les événements et les compteurs matériels, et métadonnées du compilateur.
- Faible impact sur la collecte, généralement inférieur à 1 % sur les TPU et à 5 % sur les GPU pendant la période de profilage.
- Une large suite d'outils permettant de comprendre en détail votre charge de travail :
- Page "Vue d'ensemble" : obtenez une vue d'ensemble agrégée des performances de votre modèle lors d'une exécution de profil, y compris de la façon dont il a utilisé les ressources matérielles.
- Lecteur de trace : visualisez une chronologie détaillée des événements qui se sont produits et de la partie du système qui les a exécutés (par exemple, CPU, TPU ou GPU).
- Visualiseur de graphes : permet de visualiser la structure du graphe de votre programme XLA. Il affiche le graphique des opérations de haut niveau (HLO).
- Lecteur de mémoire : visualisez l'utilisation de la mémoire pendant toute la durée de vie du programme et examinez en détail le contenu de la mémoire au moment du pic d'utilisation de la mémoire.
- Profil de mémoire : visualisez l'utilisation dynamique de la mémoire de vos accélérateurs lors de l'exécution de votre programme.
- Profil d'opérations HLO : comprenez les performances matérielles pour différentes catégories d'opérations HLO (High Level Operation) exécutées par votre programme.
- Statistiques des opérations HLO : consultez les statistiques de performances des opérations HLO (High Level Optimizer) exécutées par votre programme et identifiez les opérations les plus gourmandes en temps dans votre graphique HLO.
- Statistiques sur les opérations du framework : consultez les statistiques de performances des opérations au niveau du framework (par exemple, JAX, TensorFlow ou PyTorch/XLA) exécuté sur l'hôte et l'accélérateur.
- Analyse Roofline : consultez un modèle de performances visuel intuitif qui indique les limites matérielles inhérentes ayant un impact sur les performances de votre programme, en précisant s'il est lié à la mémoire ou au calcul.
- Statistiques Megascale : analysez les performances de communication entre les tranches des charges de travail qui s'étendent sur plusieurs tranches TPU communiquant sur le réseau de centre de données (DCN).
- Statistiques du noyau GPU : consultez les statistiques de performances et l'opération de framework d'origine pour chaque noyau accéléré par GPU de votre programme.
Premiers pas
Pour obtenir des instructions d'installation, consultez le Guide de démarrage rapide XProf.
Si vous utilisez Google Cloud pour exécuter vos charges de travail, nous vous recommandons l'outil xprofiler. Il offre une expérience simplifiée de collecte et d'affichage des profils à l'aide de VM exécutant XProf.
Pour obtenir une démonstration rapide des fonctionnalités de XProf, essayez le notebook de démonstration.
Intégration de TensorBoard
Historiquement, la seule façon d'installer et d'utiliser XProf était d'utiliser Tensorboard. C'est ce qu'on appelait le profil du plug-in TensorBoard. Il est possible que certains anciens documents utilisent encore ce terme. Cette intégration est désormais facultative : vous pouvez considérer Tensorboard comme un conteneur pour la suite d'outils XProf, qui peut également être installée et utilisée de manière autonome, avec un comportement identique.