wiki:IntegrationOpenMP/EnteteCommandesCurie

Version 2 (modified by mafoipsl, 12 years ago) (diff)

--

Entête des jobs et commandes curie

Cette page décrit les entêtes des jobs sur curie ainsi que les commandes à lancer pour avoir un exécutable simple ou un couplé.

Un executable séquentiel

  • Entête du job
    #MSUB -n 1 
    
  • Commande
    time ccc_mprun ./create_etat0_limit.e
    

Un executable parallélisé avec OpenMP seulement

  • Entête du job
    #MSUB -n 1
    #MSUB -c 16
    
  • Commande
    export OMP_NUM_THREADS=16
    time ccc_mprun ./gcm.e
    
  • Résultat : 4 threads seront lancés sur 1 processus gcm.e

Un executable parallélisé avec MPI seulement

  • Entête du job
    #MSUB -n 32
    BATCH_NUM_PROC_TOT=32
    
  • Commande
    time ccc_mprun ./gcm.e
    time ccc_mprun -n 32 ./gcm.e
    time ccc_mprun -n ${BRIDGE_MSUB_NPROC} ./gcm.e
    time ccc_mprun -n ${BATCH_NUM_PROC_TOT} ./gcm.e # A valider?
    
  • Résultat : ccc_mprun lance 32 processus gcm.e

Un executable parallélisé avec MPI et OpenMP

  • Méthode 1 sur un seul noeud :
    • Entête du job
      #MSUB -n 8 # Reservation de 8 processus MPI
      #MSUB -c 4  # Chaque tâche MPI lance 4 threads            
      
    • Commande
      export OMP_NUM_THREADS=4    # Utilisation de 4 threads OpenMP par processus MPI
      time ccc_mprun ./gcm.e
      
    • Résultat : ccc_mprun lance 8 tâches MPI gcm.e sur 4 threads chacun
  • Méthode 2 sur un seul noeud :
    • Entête du job
      #MSUB -n 32 # Reservation de 32 procs            
      
      • Commande
        export OMP_NUM_THREADS=4    # Utilisation de 4 threads OpenMP par processus MPI
        time ccc_mprun -n 4 -c 8 ./gcm.e
        
      • Résultat : ccc_mprun lance 8 tâches MPI gcm.e sur 4 threads chacun
  • Méthode pour plusieurs noeuds :
    • Entête du job
      #MSUB -N 4  # 4 noeuds 
      #MSUB -n 4  # 4 tâches MPI
      #MSUB -c 16  # Chaque tâche MPI lance 16 threads            
      
    • Commande
      export OMP_NUM_THREADS=16    # Utilisation de 16 threads OpenMP par processus MPI
      time ccc_mprun ./gcm.e
      
    • Résultat : ccc_mprun lance 4 tâches MPI gcm.e sur 4 noeuds différents, chacune avec 16 threads OpenMP

Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 26 procs, MPI seul

  • Entête du job
    #MSUB -n 32
    BATCH_NUM_PROC_TOT=$BRIDGE_MSUB_NPROC
    
  • Commande
     time ccc_mprun -f ./run_file 
    
    • avec run_file contenant, oasis en premier obligatoirement:
      1 ./oasis
      26 ./lmdz.x
      5 ./opa.xx
      
  • Résultat : mpirun lance 32 processus : 1 oasis, 26 lmdz et 5 opa

Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 13 procs MPI et 2 tâches OpenMP

A trouver