Was ist IACA und wie verwende ich es?
IACA, kurz für Intel Architecture Code Analyzer, ist ein eingestelltes statisches Analysetool, das von Intel entwickelt wurde. Es ermöglicht die Analyse der Codeplanung auf modernen Intel-Prozessoren.
Fähigkeiten
IACA kann Folgendes berechnen:
-
Durchsatz:Maximaler Durchsatz eines innerste Schleife
-
Latenz: Minimale Latenz von Anfang an bis zur letzten Anweisung
-
Trace:Fortschritt der Anweisungen durch Pipeline-Stufen
Unterstützte Plattformen und Codeformate
- Prozessorversionen: Nehalem , Westmere, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake (bis Version 2.3), Haswell, Broadwell, Skylake (Version 3.0)
- Codeformate: C/C, x86-Assembler
Einschränkungen
-
EOL: IACA hat das Ende erreicht -of-life im Jahr 2019
- Ignoriert nicht unterstützt Anweisungen
- Unterstützt keine nicht innersten Schleifen im Durchsatzmodus
Verwendung: C/C
- Fügen Sie iacaMarks.h in Ihren Code ein
- Fügen Sie Start- und Endmarkierungen um die innerste Schleife ein
- Erstellen Sie den Code mit Optimierungen neu aktiviert
Verwendung: Assembly (x86)
- Magische Bytemuster für Start- und Endmarkierungen manuell einfügen
Analyse:
- Stellen Sie die Code-Binärdatei mit eingefügten Markierungen bereit
- Aufrufbefehl: iaca.sh -arch -graph -64 foo
- : Spezifische Prozessorarchitektur
- : Erzeugt ein visuelles Abhängigkeitsdiagramm mit Graphviz
Ausgabe:
-
Textbericht Zeigt:
- Durchsatz- oder Latenzanalyse
- Portbindungs- und Druckanalyse
- Zyklusaufschlüsselung für jede Anweisung
- Abhängigkeit Diagramm (falls angegeben)
Das obige ist der detaillierte Inhalt vonWas ist Intel Architecture Code Analyzer (IACA) und wie kann ich damit die Codeleistung analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!