Skip to content

Debugging and profiling/fr

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 d'utiliser 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.

Déboguer sur une grappe

Puisque les sessions de débogage sur les nœuds de connexion sont à éviter, il faut plutôt passer par une tâche interactive. Les options sont :

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.

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