devel:cluster
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| devel:cluster [2016/03/30 15:23] – external edit 127.0.0.1 | devel:cluster [2017/06/28 16:14] (current) – papeleux | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| Cette page a pour but de donner les infos minimales pour utiliser le cluster " | Cette page a pour but de donner les infos minimales pour utiliser le cluster " | ||
| + | |||
| ===== Généralités ===== | ===== Généralités ===== | ||
| Line 13: | Line 14: | ||
| De l' | De l' | ||
| - | Le cluster est l' | + | Le cluster est l' |
| + | |||
| + | Coté disque, actuellement, | ||
| - | Coté disque, on est à l'aise (''/ | + | On utilise SFTP ([[http:// |
| En RAM, chaque coeur dispose de 4Go. Autrement dit, chaque noeud possède 4x12=48Go de RAM, pour un total de 576Go si on somme les 12 noeuds. | En RAM, chaque coeur dispose de 4Go. Autrement dit, chaque noeud possède 4x12=48Go de RAM, pour un total de 576Go si on somme les 12 noeuds. | ||
| Line 21: | Line 24: | ||
| Seul le " | Seul le " | ||
| - | L'OS installé est [[http:// | + | Le cluster ayant été réinstallé récement (05/2017) suite à un crash disk, l'OS installé est [[http:// |
| - | La plupart des applications et des libs sont installées sur ''/ | + | La plupart des applications et des libs sont installées sur ''/ |
| Line 57: | Line 60: | ||
| Tout ça pour dire que si on veut travailler avec Metafor, il faut charger au démarrage les modules dont il dépend. Ceci est fait dans le fichier ~/ | Tout ça pour dire que si on veut travailler avec Metafor, il faut charger au démarrage les modules dont il dépend. Ceci est fait dans le fichier ~/ | ||
| <file module.profile> | <file module.profile> | ||
| - | # sge : gestionnaire de queue | + | module load slurm |
| - | module load sge | + | |
| - | # applications nécessaires à la compilation - run metafor | + | |
| - | module load cmake samcef swig python qt vtk | + | |
| - | module load isosurf gmsh tetgen triangle matlab | + | |
| - | module load gcc | + | |
| - | # old intel-cluster-studio | + | module load git subversion |
| - | #module load intel-tbb | + | module load gcc cmake swig |
| - | #module load intel-cl-st/ | + | module load python qt vtk parasolid mumps |
| - | #module load intel-cl-st/ | + | #module load gmm trilinos |
| - | # nouveau svn | + | module load samcef gmsh |
| - | module load subversion/ | + | module load isosurf tetgen triangle |
| + | module load matlab scilab | ||
| - | # new intel-cluster-studio | + | # intel community |
| - | . / | + | #. / |
| + | . / | ||
| + | . /cm/ | ||
| + | |||
| + | # sinon cmake prend /usr/bin/cc meme si gcc est dans le PATH! | ||
| + | export CC=gcc | ||
| + | export CXX=g++ | ||
| + | export FC=gfortran | ||
| + | |||
| + | #icc | ||
| + | #export CC=$(which icc) | ||
| + | #export CXX=$(which icpc) | ||
| + | #export FC=$(which ifort) | ||
| </ | </ | ||
| Line 89: | Line 100: | ||
| Actions: | Actions: | ||
| a/ e-mail address (reports) | a/ e-mail address (reports) | ||
| - | c/ SVN repository | + | b/ archive name |
| - | d/ SVN branch | + | c/ build options |
| - | e/ build options | + | d/ debug mode : False |
| - | f/ debug mode : False | + | h/ nice value : ' |
| - | j/ nb of task launched in parallel | + | j/ nb of task launched in parallel |
| - | k/ nb of threads by task : '8' | + | k/ nb of threads by task : '1' |
| - | m/ Run Method | + | m/ Run Method |
| - | n/ SGE queue : ' | + | |
| - | o/ SGE run on local disk : True | + | |
| - | p/ additional SGE args : '' | + | |
| - | 1/ source | + | 1/ source |
| 2/ compile | 2/ compile | ||
| - | 3/ battery | + | 3/ battery |
| - | 4/ installer | + | |
| G/ GO | G/ GO | ||
| Line 111: | Line 118: | ||
| Your choice? | Your choice? | ||
| </ | </ | ||
| - | La configuration fabulous.cmake contient toutes les informations pour compiler par défaut avec le compilateur intel (le gcc étant trop vieux pour compiler | + | La configuration fabulous.cmake contient toutes les informations pour compiler par défaut avec le gcc 6.3 recompilé et installé dans ''/ |
| - | Lancez la compilation par "'' | + | Configurez l' |
| + | Lancez la compilation par "'' | ||
| + | ===== Lancer des calculs ===== | ||
| + | Pour lancer un calcul sur les noeuds, il ne faut pas vous connecter sur les noeuds. A partir du Master Node, les tests sont mis en attente dans un système de queues et sont executés en fonction de la disponibilité des ressources (noeuds, mémoire, | ||
| + | L' | ||
| - | ===== Lancer des calculs | + | <note warning> ATTENTION : Actuellement, |
| + | </ | ||
| - | Pour lancer | + | Une fois organisé |
| - | + | < | |
| - | Encore une fois, il est possible de faire ça manuellement ou grâce aux scripts de Metafor | + | Actions: |
| - | + | b/ exec name : '../Metafor/ | |
| - | Ensuite créez un répertoire vide et allez dedans. Tapez "'' | + | c/ test filename |
| - | < | + | |
| - | a/ e-mail address (reports) | + | |
| - | b/ exec name : '../oo_metaB/ | + | |
| - | c/ test name : 'apps.qs.cont2' | + | |
| d/ logfile (no ext) : ' | d/ logfile (no ext) : ' | ||
| e/ algorithm | e/ algorithm | ||
| + | g/ Run multiple test on dir : False | ||
| j/ nb of task launched in parallel | j/ nb of task launched in parallel | ||
| - | k/ nb of threads by task : '1' | + | k/ nb of threads by task : '12' |
| - | m/ Run Method | + | m/ Run Method |
| - | | + | |
| - | | + | |
| - | | + | |
| + | q/ Time (d-hh: | ||
| u/ ftp transfert | u/ ftp transfert | ||
| Line 142: | Line 152: | ||
| Q/ QUIT | Q/ QUIT | ||
| - | Your choice? | + | |
| </ | </ | ||
| - | Choisissez la méthode de run " | ||
| - | Metafor est capable d' | ||
| - | <note warning> | + | Configurez les chemins vers l' |
| - | ATTENTION : A ce jour, la configuration des queues via SGE ou le script | + | (ATTENTION le produit (nbTests * nbThreads) ne peut dépasser le nombre de coeurs sur 1 noeud soit 12). |
| - | Conclusion : ne demandez pas plus d'1 tâche | + | |
| - | < | + | Choisissez la méthode de run " |
| - | j/ nb of task launched in parallel | + | Metafor est capable d'utiliser le disque de chaque noeud comme répertoire de travail et de copier automatiquement les résultats une fois les simulations terminées ("''o/ Metafor run on node local disk : True''" |
| - | </code> | + | |
| - | (=> splittez vos tests dans plusieurs répértoires | + | Soyez attentif aux paramètres de mémoire ( "'' |
| - | </note> | + | et de temps de calcul demandés ("'' |
| - | Une fois que le job est lancé, | + | Une fois que le job est lancé, |
| - | qstat -f | + | |
| - | Voilà ce que ça peut donner: | + | |
| < | < | ||
| - | boman@fabulous: | + | Your choice? go in slurm |
| - | queuename | + | sending job 'Tests.banc18ER.casingRotAnalysis.WingletBlade.Coarse3250Eas' |
| - | --------------------------------------------------------------------------------- | + | Submitted batch job 451 |
| - | all.q@node001.cm.cluster | + | Submission SUCCESSFUL! |
| - | 72 0.58500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node002.cm.cluster | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node003.cm.cluster | + | |
| - | 69 0.50500 barbara04f boman r | + | </code> |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node004.cm.cluster | + | |
| - | 73 0.56500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node005.cm.cluster | + | |
| - | 74 0.54500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node006.cm.cluster | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node007.cm.cluster | + | |
| - | 76 0.50500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node008.cm.cluster | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node009.cm.cluster | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node010.cm.cluster | + | |
| - | 75 0.52500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node011.cm.cluster | + | |
| - | 71 0.60500 fullblade7 boman r | + | |
| - | --------------------------------------------------------------------------------- | + | |
| - | all.q@node012.cm.cluster | + | |
| - | ############################################################################ | + | squeue donne des informations sur les jobs dans les queues : |
| - | | + | pour mon job en particulier : |
| - | ############################################################################ | + | < |
| - | 79 0.00000 dev.batter boman qw 05/17/2011 16:45:02 12 | + | squeue |
| + | Wed Jun 28 16:08:43 2017 | ||
| + | JOBID PARTITION | ||
| + | 451 defq metafor papeleux | ||
| + | </ | ||
| + | ou pour tous les jobs : | ||
| + | < | ||
| + | squeue | ||
| + | Wed Jun 28 16:05:54 2017 | ||
| + | JOBID PARTITION | ||
| + | 418 defq metafor wautelet | ||
| + | 451 defq metafor papeleux | ||
| + | </ | ||
| + | |||
| + | Les outputs de sprio (actuellement pas de calcul de priorité des jobs => premier arrivé, premier servis) | ||
| + | < | ||
| + | sprio -l | ||
| + | You are not running a supported priority plugin | ||
| + | (priority/basic). | ||
| + | Only ' | ||
| + | sstat -a --format=JobID, | ||
| + | | ||
| + | ------------ -------- ---------- ---------- | ||
| + | sstat: WARNING: We will use a much slower algorithm with proctrack/ | ||
| + | 451.0 | ||
| </ | </ | ||
| - | Pour voir tous les jobs gérés par SGE pour tous les utilisateurs: | ||
| - | qstat -u ' | ||
| - | Pour supprimer son job avant la fin, il suffit de repérer son numéro par "'' | ||
| - | qdel [numero] | ||
| - | Des mails sont envoyés par SGE pour signaler le démarrage, le kill ou la fin du job. | ||
| - | Au lancement de jobs à travers "'' | + | pour plus d'info sur les commandes Slurm, lire [[devel: |
| - | qDelxxxx.py : permet de killer un job (Attention, cette commande ne gère pas la copie et suppression des fichiers temporaires de calcul sur le disque du noeud de calcul) | + | Des mails sont envoyés par Slurm pour signaler le démarrage, le kill ou la fin du job. |
| + | |||
| + | Au lancement de jobs à travers "'' | ||
| + | |||
| + | sCancelxxxx.py : permet de killer un job (Attention, cette commande ne gère pas la copie et suppression des fichiers temporaires de calcul sur le disque du noeud de calcul) | ||
| cpNodeResultsxxxx.py : copie les fichiers du disque du noeud de calcul (''/ | cpNodeResultsxxxx.py : copie les fichiers du disque du noeud de calcul (''/ | ||
| rmNodeResultsxxxx.py : nettoye le disque du noeud de calcul des fichiers du process xxxx ('' | rmNodeResultsxxxx.py : nettoye le disque du noeud de calcul des fichiers du process xxxx ('' | ||
| Line 216: | Line 223: | ||
| Nb : le script '' | Nb : le script '' | ||
| - | Pour plus d'infos sur SGE: [[http:// | + | Nb2 : Les noeuds de calcul n' |
| + | Pour plus d' | ||
| ===== En savoir plus ===== | ===== En savoir plus ===== | ||
devel/cluster.1459344184.txt.gz · Last modified: (external edit)
