Vue Utilisation

La vue Utilisation affiche des informations sur le processeur, le GPU et d’autres ressources système utilisées par le processus en cours (choisissez Analyser>Visualiseur concurrentiel pour démarrer le visualiseur concurrentiel). Il montre l’utilisation moyenne des cœurs par le processus analysé, le processus inactif, le processus système et d’autres processus qui s’exécutent sur le système au fil du temps. Il ne montre pas quel cœur spécifique est actif à un moment donné. Par exemple, si deux cœurs s’exécutent chacun à 50 % de leur capacité pendant une période de temps donnée, cette vue ne montre qu’un seul cœur logique en cours d’utilisation. La vue est générée en décomposant la durée du profilage en petits segments de temps. Pour chaque segment, le graphique indique le nombre moyen de threads du processus qui s’exécutent sur les cœurs logiques pendant cet intervalle.

CPU Utilization View

Le graphique affiche le temps (sur l’axe des X) et les cœurs logiques moyens utilisés par le processus cible, le processus inactif et le processus système. (Le processus Inactif affiche les cœurs inactifs. Le processus système est un processus Windows qui peut effectuer un travail pour le compte d’autres processus.) Les autres processus en cours d’exécution sur le système sont responsables de l’utilisation des cœurs restants.

Le nombre de cœurs logiques est indiqué sur l’axe des Y. Windows traite la prise en charge du multithreading simultané dans le matériel comme des cœurs logiques (par exemple Hyper-Threading). Ainsi, un système avec un processeur à quatre cœurs qui prend en charge deux threads matériels par cœur apparaît comme un système avec huit cœurs logiques. Ceci s’applique également à la vue Cœurs. Pour plus d’informations, consultez Vue Cœurs.

Le graphique Activité GPU montre le nombre de moteurs de DirectX utilisés au fil du temps. Un moteur est utilisé s’il traite un paquet DMA. Le graphique ne montre pas un moteur DirectX spécifique (par exemple le moteur 3D, le moteur vidéo, etc.).

Objectif

Nous recommandons la vue Utilisation comme point de départ pour examiner les performances quand vous utilisez le visualiseur concurrentiel. Comme il fournit une vue d’ensemble du degré de concurrence dans une application au fil du temps, vous pouvez l’utiliser pour identifier rapidement les zones nécessitant une optimisation des performances ou la parallélisation.

Si vous êtes intéressé par l’optimisation des performances, vous pouvez essayer d’identifier un comportement qui ne répond pas à vos attentes. Vous pouvez également rechercher l’existence et la cause des régions où l’utilisation des cœurs d’UC logiques est faible. Vous pouvez également rechercher des modèles d’utilisation entre l’UC et le GPU.

Si vous êtes intéressé par la parallélisation d’une application, vous recherchez probablement deux zones d’exécution liées à l’UC ou des zones où vous n’utilisez pas l’UC.

Les zones liées à l’UC sont en vert. Le graphique montre un seul cœur utilisé si l’application est en série.

Les zones où le processeur n’est pas utilisé sont en gris. Elles peuvent représenter des points auxquels l’application est inactive ou effectue des E/S bloquantes qui offrent des opportunités de parallélisme via un chevauchement avec un autre travail lié à l’UC.

Quand vous trouvez un comportement intéressant, vous pouvez effectuer un zoom avant sur cette région en la sélectionnant. Après avoir effectué un zoom, vous pouvez passer à la vue Threads ou à la vue Cœurs pour une analyse plus détaillée.

Si vous utilisez le GPU via AMP C++ ou DirectX, vous pouvez être intéressé par la détermination du nombre de moteurs GPU utilisés ou les zones où, de façon inattendue, le GPU est inactif.

Zoom

Pour effectuer un zoom avant sur le graphique Utilisation de l’UC ou sur le graphique Activité du GPU, sélectionnez une section ou utilisez le curseur de zoom au-dessus du graphique. La valeur du zoom est conservée quand vous passez à d’autres vues. Pour refaire un zoom arrière, utilisez le curseur de zoom. Vous pouvez également effectuer un zoom avec Ctrl+Défilement.

Graphique d’utilisation du processeur

Le graphique d’utilisation du processeur affiche le niveau d’utilisation d’une application dans le temps. L’axe des abscisses représente la durée du suivi et l’axe des ordonnées représente le nombre de cœurs logiques sur le système. Le graphique n’affiche pas les cœurs qui sont actifs à un moment donné. Par exemple, si deux cœurs s’exécutent chacun à 50 % de leur capacité pendant une période de temps donnée, cette vue ne montre qu’un seul cœur logique en cours d’utilisation.

Couleurs du graphique d’utilisation du processeur

  • Le vert indique l’utilisation des cœurs logiques du système par le processus en cours.

  • Le gris clair indique l’utilisation des cœurs logiques par d’autres processus sur le système. Un pourcentage élevé de gris clair dans le graphique du processeur indique que le système est très chargé par d’autres processus et que votre processus est susceptible d’être anticipé. Pour réduire la consommation des cœurs logiques par d’autres processus, réduisez le nombre des processus qui s’exécutent sur le système.

  • Le gris foncé indique la consommation des cœurs logiques par le processus système. Vous n’avez pas de contrôle direct sur cette consommation, mais il est utile de savoir quand elle se produit, car elle peut affecter la disponibilité des cœurs logiques pour votre processus.

  • Le blanc indique la disponibilité des cœurs logiques inutilisés sur le système. Ces cœurs sont disponibles pour votre processus si vous trouvez davantage d’opportunités de parallélisme.

Utilisation moyenne de l'UC

Affiche l’utilisation moyenne des cœurs logiques du système par le processus profilé pendant la durée du processus. Le graphique ne montre pas quels cœurs sont actifs à un moment donné. Par exemple, si deux cœurs s’exécutent chacun à 50 % de leur capacité pendant une période donnée, cette vue ne montre qu’un seul cœur logique en cours d’utilisation.

Contrôle Zoom (vue Utilisation)

Le contrôle de zoom vous permet de faire un zoom avant sur le graphique d’utilisation du processeur afin de vous concentrer sur des zones dignes d’intérêt. Ce contrôle effectue un zoom avant sur le centre de la vue. Vous devez donc centrer la zone digne d’intérêt avant d’effectuer un zoom avant.

Vous pouvez faire glisser le pointeur de la souris dans le graphique d’utilisation du processeur ou le graphique d’activité GPU pour créer une zone en surbrillance. Quand vous relâchez le bouton de la souris, l’affichage effectue un zoom avant sur la plage sélectionnée.

Graphe d’activité GPU

Le graphique d’activité GPU du visualiseur concurrentiel affiche le niveau d’activité DirectX du système. Cette activité se mesure par le nombre de moteurs DirectX qui sont utilisés dans le temps. Le graphique n’affiche cependant pas quels moteurs sont utilisés. Un moteur est considéré comme utilisé lorsqu’il traite un travail GPU.

Couleurs du graphe d’activité GPU

Le vert indique la consommation des moteurs DirectX par le processus en cours.

Le gris clair indique l’utilisation des moteurs DirectX par d’autres processus sur le système. Pour réduire la consommation des moteurs DirectX par d’autres processus, réduisez le nombre des processus qui s’exécutent sur le système.

Le blanc indique la disponibilité des moteurs DirectX inutilisés sur le système. Ces moteurs sont disponibles pour votre processus si vous leur trouvez d’autres usages. Certains moteurs ne peuvent être utilisés que pour certains types de tâches.

Activité GPU (pagination)

Les segments Activité GPU (pagination) sous l’onglet Threads représentent les périodes auxquelles le GPU a traité les requêtes de pagination. La longueur d’un segment représente la durée pendant laquelle le GPU a traité un paquet de pagination d’accès direct à la mémoire (DMA). En règle générale, les paquets de pagination sont associés au transfert de mémoire entre le processeur et le GPU.

Lorsque vous sélectionnez un segment de pagination GPU, le rapport sous l’onglet Actuel affiche des informations sur le paquet DMA qui a été traité. Ces informations incluent la durée pendant laquelle le paquet a attendu dans la file d’attente matérielle associée au moteur DirectX, le processus qui a envoyé le paquet DMA, ainsi que le temps nécessaire pour traiter le paquet.

Activité GPU (ce processus)

Les segments Activité GPU (ce processus) de la vue Threads du visualiseur concurrentiel représentent les périodes auxquelles le GPU a traité des demandes pour le compte du processus en cours. Ces demandes sont envoyées au GPU sous forme de paquets d’accès direct à la mémoire (DMA). La longueur d’un segment représente la durée pendant laquelle le GPU a traité un paquet DMA pour le compte du processus en cours.

Lorsque vous sélectionnez un segment d’activité GPU, le rapport sous l’onglet Actuel affiche des informations sur le paquet DMA qui a été traité. Ces informations incluent la durée pendant laquelle le paquet a attendu dans la file d’attente matérielle associée au moteur DirectX, le processus qui a envoyé le paquet, ainsi que le temps nécessaire pour traiter le paquet. Un processus autre que le processus en cours peut avoir envoyé physiquement le paquet DMA au GPU. Le visualiseur concurrentiel peut détecter si un autre processus envoie un travail au GPU pour le compte du processus en cours.

Activité GPU (autres processus)

Les segments Activité GPU (autres processus) de la vue Threads du visualiseur concurrentiel représentent les périodes auxquelles le GPU a traité des requêtes pour le compte d’autres processus du système. Ces demandes sont envoyées au GPU sous forme de paquets d’accès direct à la mémoire (DMA). La longueur d’un segment représente la durée pendant laquelle le paquet a été traité par le GPU.

Lorsque vous sélectionnez ce type de segment, le rapport sous l’onglet Actuel affiche des informations sur le paquet qui a été traité. Ces informations incluent la durée pendant laquelle le paquet a attendu dans la file d’attente matérielle associée au moteur DirectX, le processus qui a envoyé le paquet, ainsi que le temps nécessaire pour traiter le paquet.