AMD CodeAnalyst - AMD CodeAnalyst
AMD CodeAnalyst egy GUI alapú kód profiler az x86 és x86-64 alapú gépek. CodeAnalyst hasonló megjelenést egyaránt Linux és Microsoft Windows platformon. A CodeAnalyst speciális hardverprofilozási technikákat használ, amelyeket AMD processzorokkal való együttműködésre terveztek, valamint időzítő-alapú profilalkotási technikát, amely nem igényel speciális hardvertámogatást; ez lehetővé teszi a profilalkotási funkciók egy részének működését nem AMD processzorokon, például az Intel processzorokon.
2013 márciusától a CodeAnalyst helyébe az AMD CodeXL lépett .
Kódoptimalizálás
A CodeAnalyst a Linux platform OProfile- jára épül, és ingyenesen letölthető. A GUI segíti a különféle kód profilalkotás beleértve az idő alapú profilalkotás hardver esemény alapú profilalkotás, használati alapú profilalkotás és mások. Ezáltal statisztikákat részleteket, mint a töltött idő minden alprogramot , amely lehet fúrni le a forráskód vagy használati szint . Az idő, melyet az utasításokat jelezheti standokon a csővezeték alatt utasítás végrehajtását. Az optimalizálás olyan egyszerű lehet, mint az adatsor gyorsítótárának maximális kihasználásához szükséges utasítások átrendezése, vagy az ágak és hurkok módosítása / eltávolítása , hogy a végrehajtási egységek (Load / Store egységek, ALU , FP végrehajtási egységek) maximális száma kihasználható legyen párhuzamosan.
A PERF támogatása a CodeAnalyst 3.4-ben került hozzáadásra, amely lehetővé tette a felhasználók számára, hogy az OProfile és a PERF között válasszanak profilalkotási háttérként.
Utasítás-alapú mintavétel
A CodeAnalyst támogatja az IBS-t (Instruction-Based Sampling), amelyet a Family 10h AMD processzorokban (Barcelona) vezettek be. Az IBS támogatásával a CodeAnalyst pontosabban meghatározhatja azokat az utasításokat, amelyek a csővezeték elakadását és a gyorsítótár elmaradását okozzák.
Nyílt forráskód
A CodeAnalyst Linuxos verziója a GNU General Public License 2.0 alatt érhető el .
A CodeAnalyst más nyílt forráskódú összetevőket is használ, beleértve a Qt keretrendszert , a libdwarf-ot , a libelf -et és a Bináris fájlleíró könyvtárat .