Um eine Antwort auf diese Frage zu erhalten, gibt es sogenannte
<br>
"Profiling-Tools". Leider existieren so viele Profiler, wie es
<br>
Architekturen gibt (und einige mehr), deswegen kann man keine allgemein
<br>
gültige Vorgehensweise angeben. Unter fast allen Systemen existiert der
<br>
Standard-Profiler prof bzw. gprof, der ein einfaches Profil auf
<br>
Subroutinen-Ebene erstellt. Ausgefeiltere Werkzeuge gibt es mit SpeedShop
<br>
auf dem Memory-Server, und hpmcount auf IBM-Rechnern; dabei ist auch die
<br>
Verwendung von Hardware-Performance-Countern möglich. Für Intel-Systeme
<br>
gibt es das kommerzielle Tool VTune. Freie Werkzeuge wie Oprofile
<br>
(<a target="_blank" href="http://oprofile.sourceforge.net/">http://oprofile.sourceforge.net/</a>) oder PAPI (<a target="_blank" href="http://icl.cs.utk.edu/papi/">http://icl.cs.utk.edu/papi/</a>)
<br>
sind eher für Experten geeignet. Auf dem IA32-Cluster des RRZE gibt es das
<br>
Tool hpcmon, das ähnlich wie perfex auf dem Memory-Server eine Analyse der
<br>
Performancecounter über den gesamten Programmlauf machen kann. Das Altix
<br>
Supercluster verfügt über die Profiling-Suite histx bzw. die Tools pfmon
<br>
und profile.pl.
<br>

<br>
Das profiling paralleler Programme ist ein Problem für sich. Hier
<br>
existieren v.a. auf SGI-Maschinen sehr leistungsfähige Tools. Auch die
<br>
verbreitete MPICH-Implementierung von MPI (verfügbar z.B. auf dem
<br>
IA32-Cluster des RRZE) enthält mit jumpshot ein kleines Tool, das zumindest
<br>
das Kommunikationsverhalten der Prozesse untereinander visualisieren kann.
<br>
Mit (g)prof alleine ist paralleles Profiling nicht möglich.
<br>

<br>
Aufgrund der Vielfalt raten wir allen Benutzern, denen die einfache
<br>
Funktionalität von (g)prof nicht ausreicht, Kontakt mit der HPC-Beratung
<br>
aufzunehmen.