Article de reference

AMD CodeAnalyst

[http://developer.amd.com/tools/CodeAnalyst/codeanalystlinux/Pages/default.aspx AMD CodeAnalyst Performance Analyzer for Linux] {{webarchive |url=https://web.archive.org/web/201...

AMD CodeAnalyst est un profileur de code à interface graphique pour les machines x86 et x86-64 . Son interface est similaire sous Linux et Microsoft Windows . CodeAnalyst utilise des techniques de profilage matériel spécifiques conçues pour les processeurs AMD, ainsi qu'une technique de profilage par temporisateur ne nécessitant pas de matériel particulier ; cela permet à certaines fonctionnalités de profilage de fonctionner sur des processeurs non AMD, comme les processeurs Intel .

Depuis mars 2013, CodeAnalyst a été remplacé par AMD CodeXL .

OProfile pour Linux, est disponible en téléchargement gratuit. Son interface graphique facilite différents types de profilage de code , notamment le profilage temporel, le profilage événementiel matériel et le profilage par instruction. Elle génère des statistiques détaillées, comme le temps passé dans chaque sous-routine , avec une analyse approfondie jusqu'au niveau du code source ou des instructions . Le temps d'exécution des instructions peut révéler des blocages dans le pipeline . L'optimisation peut consister, par exemple, à réorganiser les instructions pour une utilisation optimale du cache de lignes de données, ou à modifier/supprimer les branchements et les boucles afin d'utiliser un maximum d'unités d'exécution (unités de chargement/stockage, ALU , unité d'exécution en virgule flottante , etc.) en parallèle.

La prise en charge de PERF a été ajoutée dans CodeAnalyst 3.4, permettant aux utilisateurs de choisir entre OProfile et PERF comme moteur de profilage.

Échantillonnage basé sur des instructions

CodeAnalyst prend en charge l'IBS (Instruction-Based Sampling), introduit dans les processeurs AMD de la famille 10h (Barcelona). Grâce à la prise en charge de l'IBS, CodeAnalyst peut identifier avec plus de précision les instructions à l'origine des blocages du pipeline et des défauts de cache.

Source libre

La version Linux de CodeAnalyst est disponible sous la licence publique générale GNU 2.0.

CodeAnalyst utilise également d'autres composants open-source, notamment le framework Qt , libdwarf , libelf et la bibliothèque Binary File Descriptor .