AMD CodeAnalyst - AMD CodeAnalyst
AMD CodeAnalyst är en GUI- baserad kodprofil för x86- och x86-64- baserade maskiner. CodeAnalyst har liknande utseende på både Linux- och Microsoft Windows- plattformar. CodeAnalyst använder specifika hårdvaruprofileringstekniker som är utformade för att fungera med AMD-processorer, samt en timerbaserad profileringsteknik som inte kräver specifikt hårdvarustöd; detta gör att en delmängd av profileringsfunktioner kan fungera på icke-AMD-processorer, till exempel Intel- processorer.
Från och med mars 2013 har CodeAnalyst ersatts av AMD CodeXL .
Kodoptimering
CodeAnalyst är byggt på OProfile för Linux-plattformen och finns som gratis nedladdning. GUI hjälper till med olika typer av kodprofilering inklusive tidsbaserad profilering, hårdvaruhändelsebaserad profilering, instruktionsbaserad profilering och andra. Detta ger statistik om detaljer såsom tid i varje underrutin som kan borras ner till källkoden eller instruktionsnivån . Tiden det tar i instruktionerna kan vara vägledande för stånd i rörledningen under instruktionens utförande. Optimering kan vara så enkelt som att omordna instruktionerna för maximal användning av en datalinjecache eller ändra / ta bort grenar och slingor så att maximalt antal exekveringsenheter (Load / Store-enheter, ALU , FP- exekveringsenhet ...) används parallellt.
Stöd för PERF lades till i CodeAnalyst 3.4, så att användarna kan välja mellan OProfile och PERF som profilbackend.
Instruktionsbaserad provtagning
CodeAnalyst stöder IBS (Instruktionsbaserad sampling) som introducerades i Family 10h AMD-processorer (Barcelona). Med IBS-stöd kan CodeAnalyst mer exakt identifiera instruktioner som orsakar pipeline-stall och cachemiss.
Öppen källa
Linux-versionen av CodeAnalyst är tillgänglig under GNU General Public License 2.0.
CodeAnalyst använder också andra komponenter med öppen källkod, inklusive Qt-ramverket , libdwarf , libelf och Binary File Descriptor-biblioteket .