Qu'est-ce que IACA et comment l'utiliser ?
IACA, abréviation de Intel Architecture Code Analyzer, est un outil d'analyse statique abandonné développé par Intel. Il permet l'analyse de la planification du code sur les processeurs Intel modernes.
Capacités
L'IACA peut calculer :
-
Débit : Débit maximum d'un boucle la plus interne
-
Latence : Latence minimale à partir du premier jusqu'à la dernière instruction
-
Trace : Progression des instructions à travers les étapes du pipeline
Plateformes et formats de code pris en charge
- Versions du processeur : Nehalem , Westmere, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake (jusqu'à la version 2.3), Haswell, Broadwell, Skylake (version 3.0)
- Formats de code : C/C, assembleur x86
Limitations
-
EOL : IACA atteint la fin de vie en 2019
- Ignore les fichiers non pris en charge instructions
- Ne prend pas en charge les boucles non les plus internes en mode débit
Utilisation : C/C
- Incluez iacaMarks.h dans votre code
- Insérez des marqueurs de début et de fin autour de la boucle la plus interne
- Reconstruisez le code avec optimisations activées
Utilisation : Assemblage (x86)
- Insérer manuellement des modèles d'octets magiques pour les marqueurs de début et de fin
Analyse :
- Fournir le code binaire avec les marqueurs insérés
- Commande d'appel : iaca.sh -arch -graph -64 foo
- : Architecture de processeur spécifique
- : génère un graphe de dépendances visuel à l'aide de Graphviz
Sortie :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!