J'ai besoin d'écrire un programme C (pour une attribution d'école pour déterminer la taille du cache). J'ai utilisé clock()
comme un moyen d'obtenir des informations de synchronisation. Mais was told qui pourrait conduire à des résultats inexacts. Je pensais donc à utiliser d'autres bibliothèques, introduites dans les laboratoires récents, perf ou papi, pour enregistrer les performances. Mais la façon dont nous les avons utilisés était via la ligne de commande:Obtenir le temps d'exécution (ou d'autres statistiques) pour le programme C en utilisant perf ou
perf stat ./test
Je pense qu'il est possible d'utiliser perf dans l'application? Je suis nouveau en C, plus habitué aux langages de plus haut niveau comme Python/JS/Java etc. Donc je pense que j'ai besoin de créer un fichier make, d'inclure la librairie, etc. Aussi quelles fonctions ai-je?
je vis http://www.rzg.mpg.de/computing/hardware/BGP/perf.html
libperf.a
perf library for MPI programs.
libperfhpm.a
Use perf instrumentation to call hpmtoolkit.
libperfdummy.a
Provides dummies for the perf instrumentation. You can link against this library to avoid the perf overhead in production runs.
qui dois-je utiliser? Ce n'est pas un programme MPI. Alors comment l'utiliser réellement? J'utilise C et gcc. Cela ressemble à la compilation, mais ... ce qui est mpixlf90
mpixlf90_r -o tperf tperf.f -L/usr/local/lib -lperf
mpixlf90 ressemble à un compilateur –