Débogage et profilage

From Alliance Doc
Jump to navigation Jump to search
This page is a translated version of the page Debugging and profiling and the translation is 100% complete.
Other languages:

Une étape importante en développement logiciel, particulièrement en Fortran et C/C++, est l'utilisation d'un logiciel de débogage pour détecter et identifier l'origine des erreurs d'exécution (par exemple les fuites de mémoire, les exceptions de virgule flottante, etc.). Après avoir éliminé les erreurs, la prochaine étape est de profiler le programme avec un logiciel de profilage pour déterminer le pourcentage du temps d'exécution pour chacune des sections du code source avec un scénario de test représentatif. Un profileur peut fournir de l'information sur le nombre de fois qu'une fonction est appelée, quelles sont les fonctions qui l'appellent ou encore combien de millisecondes en moyenne coûte chaque appel.

Outils

Nos grappes offrent un choix de débogueurs et de profileurs pour effectuer le travail en mode graphique par connexion X11 ou en mode ligne de commande. Le débogage devrait être effectué dans une tâche interactive et non dans un nœud de connexion.

Débogueur GNU (gdb)

Voir GDB.

Débogueur PGI (pgdb)

Voir PGDBG.

Débogueur ARM (ddt)

Voir ARM.

Profileur GNU (gprof)

Voir Gprof.

Profileur Scalasca (scalasca, scorep, cube)

Scalasca est un ensemble d'outils open source avec une interface graphique pour le profilage parallèle avec GPU. Ces outils sont disponibles pour gcc 9.3.0 et OpenMPI 4.0.3, dans des architectures AVX2 et AVX512. Chargez l'environnement avec

module load StdEnv/2020 gcc/9.3.0 openmpi/4.0.3 scalasca

La version courante est 2.5. Vous trouverez plus d'information et des exemples de flux de travail dans Scalasca User Guide.

Profileur PGI (pgprof)

Voir Pgprof.

Profileur Nvidia en ligne de commande (nvprof)

Voir nvprof.

Valgrind

Voir Valgrind.

Autres références