Démarrer le débogueur totalview

Comment démarrer totalview pour déboguer vos codes parallèles

Article mis en ligne le 4 novembre 2014
dernière modification le 7 avril 2017
logo imprimer

totalview est parfaitement intégré à l’outil de batch slurm, il est simple de déboguer des codes parallèles en les faisant tourner sur le nœuds de calcul.
Il possède une interface graphique, qui sera exécutée sur la frontale.

Utiliser totalview sur eos

Prérequis

- Rappel : se connecter avec serveur X
- Votre code doit être compilé avec les switches -g et (de préférence) -O0

Lancer totalview

Charger le module totalview :

Si vous utilisez intel-mpi, positionnez la variable d’environnement :

Lancez le programme :

Créer une nouvelle session ou reprendre une session existante

PARALLEL DETAILS :

- Pour créer une nouvelle session : Entrer le nom de la session et quelques lignes de commentaire (presser le petit bouton à droite).
- Pour recharger une session : aller dans le menu déroulant
- Dans le champ Parallel Sytem / Name entrez : SLURM
- Dans le champ Tasks et Nodes entrez le nombre total de tâches de votre programme, et le nombre de nœuds que vous souhaitez utiliser : par exemple 40 tâches et 2 nœuds

ATTENTION : La licence totalview permet actuellement de déboguer jusqu’à 64 tâches. Il est toutefois possible de démarrer une application avec un plus grand nombre de tâches, simplement vous ne pourrez pas attacher totalview à toutes les tâches.

PROGRAM DETAILS :
- Entrez ici le chemin d’accès à votre programme
- Puis ses paramètres (options, fichiers d’entrée, ligne de commande, etc.).

DEBUG OPTIONS
- Quelques options de debug suivant ce qu’il y a à rechercher (ne pas cocher ce qui n’est pas absolument nécessaire, plus on coche de choses plus on utilise de ressources)

ENVIRONMENT
- Vous pouvez entrer ici les variables d’environnement utiles pour votre application.

Commencer à déboguer


Cliquez sur le bouton STEP, toutes les tâches démarreront, puis s’arrêteront à la première ligne du code

Utiliser totalview pour déboguer un code séquentiel

Même si totalview est surtout intéressant pour déboguer du code parallèle, il peut aussi servir dans le cas d’un code séquentiel. L’appel est alors très simple :

Et s’il y a des arguments à spécifier, il devient :



Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.86.44
Hébergeur : INP Toulouse