AMD CodeAnalyst ist ein GUI -basierter Code- Profiler für x86- und x86-64 -basierte Systeme. CodeAnalyst bietet unter Linux und Microsoft Windows ein ähnliches Erscheinungsbild . Er verwendet spezielle Hardware-Profiling-Techniken, die für AMD-Prozessoren optimiert sind, sowie eine timerbasierte Profiling-Technik, die keine spezielle Hardwareunterstützung benötigt. Dadurch können einige Profiling-Funktionen auch auf Nicht-AMD-Prozessoren, wie beispielsweise Intel- Prozessoren, genutzt werden. [ 2 ]

Im März 2013 wurde CodeAnalyst durch AMD CodeXL ersetzt . [ 3 ]

Codeoptimierung

CodeAnalyst basiert auf OProfile für Linux und steht als kostenloser Download zur Verfügung. Die grafische Benutzeroberfläche unterstützt verschiedene Arten der Code-Profilierung, darunter zeitbasierte, hardware-ereignisbasierte und instruktionsbasierte Profilierung. Dabei werden Statistiken zu Details wie der Laufzeit einzelner Unterprogramme erstellt, die bis auf Quellcode- oder Instruktionsebene detailliert analysiert werden können . Die Laufzeit der Instruktionen kann auf Verzögerungen in der Pipeline während der Ausführung hinweisen. Optimierungen können so einfach sein wie die Neuanordnung der Instruktionen zur maximalen Auslastung des Datenzeilencaches oder die Änderung/Entfernung von Verzweigungen und Schleifen , um die maximale Anzahl paralleler Ausführungseinheiten (Lade-/Speichereinheiten, ALU , Gleitkommaeinheit usw.) zu nutzen.

Die Unterstützung für PERF wurde in CodeAnalyst 3.4 hinzugefügt, sodass Benutzer zwischen OProfile und PERF als Profiling-Backend wählen können. [ 4 ]

Instruktionsbasierte Stichproben

CodeAnalyst unterstützt IBS (Instruction-Based Sampling), das in den AMD-Prozessoren der Familie 10h (Barcelona) eingeführt wurde. Dank der IBS-Unterstützung kann CodeAnalyst die Befehle, die Pipeline-Stalls und Cache-Fehler verursachen, präziser identifizieren. [ 5 ]

Open-Source

Die Linux-Version von CodeAnalyst ist unter der GNU General Public License 2.0 verfügbar . [ 6 ]

CodeAnalyst verwendet außerdem weitere Open-Source-Komponenten, darunter das Qt-Framework , libdwarf , libelf und die Binary File Descriptor-Bibliothek .

Siehe auch

Referenzen

  1. ^ AMD CodeAnalyst Performance Analyzer für Linux, archiviert am 9. Juli 2012 im Wayback Machine- Archiv.
  2. ^ „Wie ich AMD CodeAnalyst auf einer Intel-CPU ausgeführt habe“ . VirtualDub . 4. November 2009. Archiviert vom Original am 26. Februar 2012. Abgerufen am 23. Februar 2010 .
  3. ^ „AMD CodeAnalyst End-of-Life Notice“ . AMD Developer Central . 2. März 2013. Archiviert vom Original am 6. August 2013. Abgerufen am 10. März 2013 .
  4. ^ „AMD veröffentlicht CodeAnalyst 3.4 für Linux!“ . Abgerufen am 9. November 2013 .{{cite web}}CS1-Wartung: Veralteter Archivierungsdienst ( Link )
  5. ^ „AMD Developer Central“ (PDF) . AMD . Archiviert vom Original (PDF) am 14.02.2012 . Abgerufen am 14.02.2012 .
  6. ^ AMD CodeAnalyst Performance Analyzer für Linux