Referenzanforderung zur Profilerstellung von Hochleistungsrechnercodes

8

Ich schreibe Codes in Fortran und C für verschiedene Matrixalgorithmen. Wenn ich meine Codes jedoch mit VTune profiliere, stoße ich normalerweise auf eine Terminologie, die ich nicht vollständig einschätzen kann. Gibt es eine gute Ressource, um das Profiling von Grund auf bis zu einem ziemlich fortgeschrittenen Niveau zu lernen?

Obwohl ich mich darauf freue, numerische Codes zu profilieren, glaube ich nicht (ich könnte mich irren), dass das Profilieren anderer Codes anders ist. Ich möchte ein Tutorial zur Profilerstellung und würde ein (kostenloses) Online-PDF bevorzugen, hätte aber nichts gegen Bücher oder Handbücher.

Ich habe versucht, das Handbuch von VTune zu lesen, aber das ist wie der Versuch, Chinesisch zu lernen, indem ich ein Buch in chinesischer Sprache lese.

Ist VTune der beste Weg? Ich mag eine GUI sehr und da ich Intel MKL verwende, dachte ich, es wäre besser als Valgrind.

Anfrage
quelle

Antworten:

6

Eine andere häufige Wahl ist die Verwendung von PAPI http://icl.cs.utk.edu/papi/ oder TAU http://www.cs.uoregon.edu/Research/tau/home.php . Valgrind eignet sich hervorragend zum Auffinden von Speicherfehlern .

Einige Folien von TACC:

http://www.tacc.utexas.edu/user-services/training/course-materials

http://www.tacc.utexas.edu/c/document_library/get_file?uuid=fc609b77-b727-4bff-81a4-d30caa4013d4&groupId=13601

aterrel
quelle
Danke für die tollen Links. Können Sie auch ein gutes Tutorial in Form von PDF, Buch oder auf andere Weise vorschlagen, um mehr über die Profilerstellung zu erfahren?
Untersuchung
Ich habe keine Bücher, aber ich werde herumfragen.
Aterrel
Okay, nachdem Sie ein paar Leute gefragt haben, müssen Sie im Grunde genommen viel über Computerarchitektur wissen, nachdem Sie die einfachen Dinge hinter sich gelassen haben. Wir wurden kürzlich über dumme Dinge wie die Geschwindigkeit, mit der ein Wort auf einen Intel-Chip geladen wird, gestolpert (das Herumholen von Hardware ist nicht so einfach, wie es sich anhört).
Aterrel
1

Das Tool, das ich ausgiebig für die Profilerstellung verwendet habe, ist valgrind (in Kombination mit der grafischen Oberfläche kcachegrind ). Valgrind ist eine Reihe dynamischer Analysewerkzeuge: Speicherfehlererkennung, Threading-Fehlersuche und Profilerstellung.

Einige Referenzen zu Valgrind:

Leider (abhängig davon, woher Sie kommen :-)) läuft valgrind nicht unter Windows, sondern nur auf Linux- und Darwin-basierten Computern.

GertVdE
quelle