HPCT (High Performance Computing Toolkit) est un ensemble d'outils
permettant de mesurer les performances d'un programme Fortran, C ou C++ sur
une machine IBM SP. Il permet d'accéder directement aux informations issues des compteurs hardware du processeur
Power (nombre de cycles, nombre d'opérations flottantes, cache miss, etc.). Il possède trois composantes :
La bibliothèque libhpc définit trois types d'appels :
hpmInit(), hpmTerminate().
f_hpminit(), f_hpmterminate().
hpmStart(), hpmStop().
f_hpmstart(), f_hpmstop().
hpmTstart(), hpmTstop().
f_hpmtstart(), f_hpmtstop().
L'utilisation de ces appels nécessite l'inclusion du fichier d'en-tête :
libhpc.h dans un programme C ou C++,
f_hpc.h dans un programme Fortran.
f_hpc_i8.h dans un programme Fortran avec des entiers sur 8 bits.
Attention : dans un programme Fortran, le nom des procédures appelées doit impérativement apparaître en
minuscules et à la compilation, le fichier doit passer par le préprocessseur C. C'est automatique pour les programmes suffixés par F, F90 ou F03 mais dans les autres cas, cela nécessite l'utilisation de l'option -qsuffix=cpp=suffix ou suffix est le suffixe du programme source (f90, f ou f03).
HPCT pour mesurer et interpréter les performances globales ou partielles des programmes :
libhpc dans un programme exclut l'exécution de celui-ci sous la commande hpcount.