sge

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
sge [2011/11/18 15:47] – [les files] gerardsge [2015/10/02 11:03] – [les files] gerard
Ligne 19: Ligne 19:
 | big | 8 | 3Go | 1 | machine octopus | big | 8 | 3Go | 1 | machine octopus
 | long | 8 | 2Go | 8 | 2 machines, charybde et scylla, à réserver au parallèle MPI | | long | 8 | 2Go | 8 | 2 machines, charybde et scylla, à réserver au parallèle MPI |
-| latp | 32 | 8Go | 30 | cette [[http://mmg.cnrs-mrs.fr/doku.php?id=bullx_reservation|queue]] est soumise à restriction |+| latp | 32 | 256Go | 30 | cette [[http://mmg.cnrs-mrs.fr/doku.php?id=bullx_reservation|queue]] est soumise à restriction |
  
  
Ligne 25: Ligne 25:
 ==== séquentiel ==== ==== séquentiel ====
  
 +voir [[http://sites.univ-provence.fr/~iusti/doku.php?id=sge#script_d_un_code_sequentiel]]
 ==== parallèle ==== ==== parallèle ====
 +Exemple simple sur holopherne (les homedir ne sont pas en réseau):
 +<code shell>
 +/usr/lib64/openmpi/bin/mpirun -np $NSLOTS /usr/bin/hostname</code>
 +et on lance:
 +<code>
 +qsub -q latp -pe impi 4 -cwd -j y ./exemple2.sh
 +Your job 18540 ("exemple2.sh") has been submitted
 +</code>
 +
 +
 +Voici un autre exemple de script plus complexe, pour lancer un job parallèle (limité à 8 instances) sur la queue long (autre serveur avec homedir en réseau)
 +<code>
 +#!/bin/sh
 +#
 +#$ -S /bin/sh
 +#$ -N "calcul_qsub"
 +#$ -j y
 +#$ -M me@cmi.univ-mrs.fr
 +#$ -m be
 +#$ -cwd
 +# queue Long
 +#$ -q long
 +#$ -pe mpi_labo 8
 +
 +PATHINIT=$PWD
 +cd ~/pelicans/trunksource pel_env_new
 +cd $PATHINIT
 +
 +module add mpi/sunhpc821c
 +pel run -np $NSLOTS $EXE0 data.pel resu
 +
 +</code>
 +  * on peut mettre moins que 8 pour la ligne -pe
 +  * dans la commande mpirun (ou son équivalent), ne pas mettre le nombre de procs, mais la varaible $NSLOTS
 +  * on peut tester si la soumission sera acceptée, en tapant:
 +<code>
 +qsub -w v ./script.sh
 +</code>
  
 +==== paramétrique ====
 +on veut lancer:
 +<code>
 +monprog 100
 +monprog 200
 +monprog 400
 +...
 +</code>
 +Plutôt que d'ecrire autant de scripts que de valeurs différentes du paramètre, on va utiliser la variable **SGE_TASK_ID**:
 +<code>
 +#!/bin/sh
 +#$ -N mon_script_parametrique
 +#$ -cwd
 +#$ -j y
 +#$ -S /bin/sh
 +#$ -M moi@latp.univ-mrs.fr
 +#$ -m be
 +#$ -q small
 +#
 +num = $(10*(2**($SGE_TASK_ID) - 1))
 +/home/moi/mon_prog $num 
 +</code>
 +et on lance par la commande:
 +<code>
 +qsub  -q small  -t 1-8 mon_script.sh
 +</code>
 +plus d'infos, ''man qsub'', option ''-t''
  
  
  • sge.txt
  • Dernière modification : 2017/08/25 09:56
  • de 127.0.0.1