AMD CodeAnalyst - AMD CodeAnalyst
AMD CodeAnalyst je profilovač kódu založený na GUI pro stroje založené na x86 a x86-64 . CodeAnalyst má podobný vzhled a chování na platformách Linux i Microsoft Windows . CodeAnalyst používá specifické techniky profilování hardwaru, které jsou navrženy pro práci s procesory AMD, stejně jako techniku profilování založenou na časovači, která nevyžaduje specifickou podporu hardwaru; to umožňuje podmnožině funkcí profilování pracovat na procesorech jiných než AMD, jako jsou procesory Intel .
Od března 2013 byl CodeAnalyst nahrazen AMD CodeXL .
Optimalizace kódu
CodeAnalyst je postaven na OProfile pro platformu Linux a je k dispozici ke stažení zdarma. GUI pomáhá při různých druzích profilování kódu, včetně profilování podle času, profilování podle hardwarových událostí, profilování podle profilů a dalších. To vytváří statistiky o detailech, jako je čas strávený v každém podprogramu, který lze procházet až na úroveň zdrojového kódu nebo instrukce . Čas potřebný podle pokynů může být indikátorem stání v potrubí během provádění instrukce. Optimalizace může být stejně jednoduchá jako změna pořadí pokynů pro maximální využití mezipaměti datové linky nebo změna / odebrání větví a smyček tak, aby byl využit maximální počet prováděcích jednotek (jednotky Load / Store, ALU , FP prováděcí jednotka ...) paralelně.
V CodeAnalyst 3.4 byla přidána podpora pro PERF , což uživatelům umožňuje vybrat si mezi OProfile a PERF jako back-end profilování.
Vzorkování na základě pokynů
CodeAnalyst podporuje IBS (Instruction-Based Sampling), který byl představen v procesorech Family 10h AMD (Barcelona). S podporou IBS může CodeAnalyst přesněji identifikovat pokyny, které způsobí zastavení kanálu a zmeškání mezipaměti.
Otevřený zdroj
Verze CodeAnalyst pro Linux je k dispozici pod GNU General Public License 2.0.
CodeAnalyst také používá další komponenty open-source, včetně Qt framework , libdwarf , libelf a knihovny Binary File Descriptor .