Vargas : exécution d'un travail MPI en batch



Vous ętes ici : Support technique → Calcul scalaire → Exécution/contrôle d'un code en batch → Code MPI.


Les travaux sont gerés sur l'ensemble des noeuds par le logiciel LoadLeveler; ils sont répartis après soumission dans des "classes". Vous pouvez consulter ici les limites des classes sur Vargas.

Pour soumettre un travail MPI en batch, il faut :

  1. Créer un script de soumission. Voici un exemple enregistré dans le fichier mpi.ll:

    > vargas : more mpi.ll
    # Nom du travail LoadLeveler
    # @ job_name = MPI
    # Fichier de sortie standard du travail       
    # @ output = $(job_name).$(jobid)
    # Fichier de sortie d'erreur du travail
    # @ error =  $(job_name).$(jobid)
    # Type de travail
    # @ job_type = parallel
    # Nombre de processus demandes (ici 8)
    # @ total_tasks = 8
    # Temps ELAPSED max. pour l'ensemble du job en hh:mm:ss (1h30mn ici)
    # @ wall_clock_limit = 1:30:00
    # Memoire max. demandee par coeur (ici 1.7 Gigaoctets)
    # @ data_limit = 1.7gb
    # pour recevoir un mail en cas de depassement du temps Elapsed (ou autre pb.)
    # @ notification = error
    # @ queue
    
    # Pour avoir l'echo des commandes
    set -x 
    
    # Repertoire temporaire de travail
    cd $TMPDIR
    
    # La variable LOADL_STEP_INITDIR est automatiquement positionnee par 
    # LoadLeveler au repertoire dans lequel on tape la commande llsubmit
    cp $LOADL_STEP_INITDIR/a.out .
    
    # Execution d'un programme MPI
    ./a.out
    
        
  2. Soumettre ce script (uniquement depuis Vargas) via la commande llsubmit :

    vargas : llsubmit  mpi.ll
        
Remarques :

Pour une étude plus approfondie vous pouvez consulter :
© CNRS - IDRIS, 13/01/2012