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
sge [2011/07/11 09:57] gerardsge [2017/08/25 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 4: Ligne 4:
   *  [[http://gridscheduler.sourceforge.net/|Open Grid Scheduler]]   *  [[http://gridscheduler.sourceforge.net/|Open Grid Scheduler]]
  
 +====== Installation ======
 +Tout est installé dans ///local/export/sge// (chemin utilisé sur les machines de l'IUSTI). Ce dossier est partagé sur toutes les machines de calcul, puisqu'il contient entre autres les spoolers.
 +
 +====== Configuration ======
 +
 +
 +===== les files =====
 +  * [[http://wikis.sun.com/display/GridEngine/Configuring+Queues]]
 +Les machines de calcul sont organisées en __files de travaux__. Le nom des files doit permettre de se faire une idée des caractéristiques de la file, en terme de ressources disponibles (le but étant de partager le maximum de ressources entre chaque utilisateur).\\
 +En cas de doute, utiliser la queue "small" par défaut
 +
 +^ queue ^ procs ^ memory/procs ^ slots ^ commentaires ^
 +| small | 8 | 3Go | 5 | machine octopus |
 +| big | 8 | 3Go | 1 | machine octopus
 +| long | 8 | 2Go | 8 | 2 machines, charybde et scylla, à réserver au parallèle MPI |
 +| latp | 32 | 256Go | 30 | cette [[http://mmg.cnrs-mrs.fr/doku.php?id=bullx_reservation|queue]] est soumise à restriction |
 +
 +
 +===== Soumettre un job =====
 +==== séquentiel ====
 +
 +voir [[http://sites.univ-provence.fr/~iusti/doku.php?id=sge#script_d_un_code_sequentiel]]
 +==== 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''
 +
 +avec un script matlab, il vaut mieux utiliser une fonction de matlab
 +<Code>
 +#!/bin/bash
 +#
 +#$ -cwd
 +#$ -S /bin/bash
 +#$ -N "optimisme_FB"
 +##$ -o output
 +##$ -e output
 +#$ -M gerard.henry@univ-amu.fr
 +#$ -m be
 +#
 +. /etc/profile.d/modules.sh
 +module purge matlab
 +module load matlab/8.1
 +
 +matlab -nodesktop -nosplash -r "FB_NbIt = str2num( getenv('SGE_TASK_ID') ); addpath(genpath('../Toolbox_optimism/'));params;exit"
 +</Code>
 +le fichier params.m contenant le code:
 +<Code>
 +if ~exist('FB_NbIt','var')
 +  FB.param.NbIt = 10;
 +else
 +  FB.param.NbIt = FB_NbIt;
 +end
 +</Code>
  
 ====== modifier les propriétes de la queue de soumission ====== ====== modifier les propriétes de la queue de soumission ======
Ligne 46: Ligne 162:
  
 ====== Fichiers ====== ====== Fichiers ======
-  * voir [[reserve:install_sge|installation]]+  * voir [[reserve:sge|installation]]
   * sur fury, voir /donnees/provisoire/logiciels/SGE   * sur fury, voir /donnees/provisoire/logiciels/SGE
   * dernière version gratuite: 6u5   * dernière version gratuite: 6u5
   * depuis rachat par Oracle de SGE, plusieurs forks:   * depuis rachat par Oracle de SGE, plusieurs forks:
 +
 ^ Projet ^ mailing list ^ Site ^ ^ Projet ^ mailing list ^ Site ^
 | [[https://arc.liv.ac.uk/trac/SGE|Son of Grid Engine project]] | [[sge-discuss@liv.ac.uk]] | [[https://arc.liv.ac.uk/mailman/listinfo/sge-discuss]] | | [[https://arc.liv.ac.uk/trac/SGE|Son of Grid Engine project]] | [[sge-discuss@liv.ac.uk]] | [[https://arc.liv.ac.uk/mailman/listinfo/sge-discuss]] |
Ligne 60: Ligne 177:
   * http://wikis.sun.com/display/GridEngine/Monitoring+and+Controlling+Jobs   * http://wikis.sun.com/display/GridEngine/Monitoring+and+Controlling+Jobs
   * https://www.nbcr.net/pub/wiki/index.php?title=Understanding_SGE_job_status   * https://www.nbcr.net/pub/wiki/index.php?title=Understanding_SGE_job_status
- 
  • sge.1310371047.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)