Ci-dessous, les différences entre deux révisions de la page.
documentation:tools:modules [2018/04/27 11:06] ltaulell [Environment Modules] |
documentation:tools:modules [2020/08/25 17:58] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Environment Modules ====== | ||
- | |||
- | |||
- | ''Environment Modules'' sert à **configurer l'environnement d'exécution** d'un programme (shell, job, interactif et non-interactif), il est désormais géré par ''lmod'' et EasyBuild | ||
- | |||
- | Chaque programme nécessite un environnement (voir la commande ''env'' dans un shell) correctement configuré pour fonctionner de manière optimale. | ||
- | |||
- | <note tip>**Rappel** :\\ | ||
- | ''allo-psmn'' est un serveur de connexion; il vous permet d'avoir accès à vos fichiers et de les transférer, et **c'est tout**. | ||
- | |||
- | Pour travailler, il faut se connecter, depuis ''allo-psmn'', sur l'**un des serveurs de compilation**. | ||
- | |||
- | Voir [[documentation:tutorials:ssh:accueil|Se connecter aux clusters]]. | ||
- | </note> | ||
- | ===== Modèles ===== | ||
- | |||
- | Des **exemples** d'initialisation pour les utilisateurs du PSMN sont disponibles dans les fichiers suivant : | ||
- | * ''/applis/PSMN/debian9/skels/modeles/Profile'' | ||
- | * ''/applis/PSMN/debian9/skels/modeles/Bashrc'' | ||
- | * ''/applis/PSMN/debian9/skels/modeles/Bash_aliases'' | ||
- | * ''/applis/PSMN/debian9/skels/modeles/Cshrc'' | ||
- | |||
- | Vous pouvez les copier, ou les inclure dans vos propre fichiers d'initialisation : | ||
- | |||
- | <code bash> | ||
- | cp /applis/PSMN/debian9/skels/modeles/Profile ~/.profile | ||
- | cp /applis/PSMN/debian9/skels/modeles/Bashrc ~/.bashrc | ||
- | cp /applis/PSMN/debian9/skels/modeles/Bash_aliases ~/.bash_aliases | ||
- | |||
- | ou | ||
- | |||
- | cp /applis/PSMN/debian9/skels/modeles/Cshrc ~/.cshrc | ||
- | </code> | ||
- | |||
- | Reconnectez-vous pour prendre en compte les changements. | ||
- | ===== Usage interactif ===== | ||
- | |||
- | |||
- | ==== charger "Environment Modules" ==== | ||
- | |||
- | * pour bash | ||
- | |||
- | <code bash> | ||
- | source /usr/share/lmod/lmod/init/bash | ||
- | </code> | ||
- | |||
- | Peut être ajouté dans ''~/.profile''. | ||
- | |||
- | * pour csh/tcsh | ||
- | |||
- | <code bash> | ||
- | source /usr/share/lmod/lmod/init/tcsh | ||
- | </code> | ||
- | |||
- | Peut être ajouté dans ''~/.cshrc''. | ||
- | |||
- | * pour zsh | ||
- | |||
- | <code bash> | ||
- | source /usr/share/lmod/lmod/init/zsh | ||
- | </code> | ||
- | |||
- | Peut être ajouté dans ''~/.zshenv'' (ou ''~/.zshrc''). | ||
- | ==== pour tous les shell ==== | ||
- | |||
- | * voir les modules disponibles (peut prendre quelques minutes avant de s'afficher, c'est normal!) | ||
- | |||
- | <code bash> | ||
- | # lister tous les modules | ||
- | module avail | ||
- | |||
- | # lister les modules relatif à OpenMPI | ||
- | module avail openmpi | ||
- | </code> | ||
- | |||
- | |||
- | * charger des modules : | ||
- | |||
- | <code bash> | ||
- | module load <compilateur>/<version>/<software>/<version> | ||
- | |||
- | # par exemple charger OpenMPI 2.1.1 (compilé avec GCC 6.4.0) | ||
- | module load GCC/6.4.0/OpenMPI/2.1.1 | ||
- | # puis charger GCC 6.4.0 | ||
- | module load GCC/6.4.0 | ||
- | </code> | ||
- | |||
- | * Obtenir l'aide d'un module | ||
- | <code bash> | ||
- | module help <software>/<version> | ||
- | # ou | ||
- | module help <compilateur>/<version>/<software>/<version> | ||
- | </code> | ||
- | |||
- | |||
- | * Afficher les modules chargés | ||
- | <code bash> | ||
- | module list | ||
- | </code> | ||
- | |||
- | * Décharger un module | ||
- | <code bash> | ||
- | module unload <software>/<version> | ||
- | </code> | ||
- | |||
- | |||
- | ===== Dans un script ===== | ||
- | |||
- | exemple pour bash (extrait de script) : | ||
- | |||
- | <code bash> | ||
- | # init env (should be in ~/.profile) | ||
- | source /usr/share/lmod/lmod/init/bash | ||
- | |||
- | # easybuild modules do not load dependencies | ||
- | module load GCC/6.4.0/OpenMPI/2.1.1 | ||
- | module load GCC/6.4.0 | ||
- | |||
- | # tests | ||
- | env > resultat.txt | ||
- | gcc -v >> resultat.txt | ||
- | which mpirun >> resultat.txt | ||
- | |||
- | </code> | ||
- | |||
- | ===== Références ===== | ||
- | |||
- | * https://www.tacc.utexas.edu/research-development/tacc-projects/lmod | ||
- | * http://modules.sourceforge.net/index.html | ||
- | * http://modules.sourceforge.net/man/modulefile.html | ||
- | |||
- | |||
- | <hidden> | ||
- | --------------------------------------------------- | ||
- | ==== pour csh/tcsh ==== | ||
- | |||
- | * Charger l'environnement du PSMN (**shell csh/tcsh**) | ||
- | <code bash> | ||
- | source /usr/share/modules/init/tcsh | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | Vous pouvez ajouter dans votre ''~/.cshrc'', les lignes suivantes : | ||
- | |||
- | <code bash> | ||
- | source /usr/share/modules/init/tcsh | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | ==== pour bash ==== | ||
- | |||
- | * Charger l'environnement du PSMN (**shell bash**) | ||
- | <code bash> | ||
- | source /usr/share/modules/init/bash | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | Vous pouvez ajouter dans votre ''~/.profile'', les lignes suivantes : | ||
- | |||
- | <code bash> | ||
- | source /usr/share/modules/init/bash | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | ==== pour tous les shell ==== | ||
- | |||
- | * Lister les modules disponibles | ||
- | <code bash> | ||
- | module avail | ||
- | </code> | ||
- | |||
- | * Obtenir la description d'un module | ||
- | <code bash> | ||
- | module whatis <software>/<version> | ||
- | |||
- | module whatis openmpi/1.6.4-gnu-4.7.2 | ||
- | openmpi/1.6.4-gnu-4.7.2: loads openmpi 1.6.4 (gnu-4.7.2/Debian7) environment | ||
- | </code> | ||
- | |||
- | * Obtenir l'aide d'un module | ||
- | <code bash> | ||
- | module help <software>/<version> | ||
- | |||
- | module help Base/psmn | ||
- | |||
- | ----------- Module Specific Help for 'Base/psmn' ------------------ | ||
- | |||
- | loads the modules software & base application environment for PSMN | ||
- | |||
- | This adds specifics to several of the environment variables. | ||
- | automatically load Base/debian7 and Base/sge modulefiles | ||
- | |||
- | Compatible with Modules version 3.2.9 | ||
- | |||
- | </code> | ||
- | |||
- | * Charger un module pour un logiciel | ||
- | <code bash> | ||
- | module load <software>/<version> | ||
- | </code> | ||
- | |||
- | * Afficher les modules chargés | ||
- | <code bash> | ||
- | module list | ||
- | </code> | ||
- | |||
- | * Décharger un module | ||
- | <code bash> | ||
- | module unload <software>/<version> | ||
- | </code> | ||
- | |||
- | * Décharger l'environnement du PSMN | ||
- | <code bash> | ||
- | module unuse /applis/PSMN/Modules | ||
- | </code> | ||
- | |||
- | |||
- | :!: Certains modules chargent automatiquement leurs dépendances, ce qui peut engendrer des conflits. | ||
- | |||
- | |||
- | ===== Usage dans les scripts (non-interactif) ===== | ||
- | |||
- | :!: Certains modules chargent automatiquement leurs dépendances, ce qui peut engendrer des conflits. | ||
- | |||
- | ==== pour csh/tcsh ==== | ||
- | |||
- | * ajouter dans le début des scripts : | ||
- | <code bash> | ||
- | source /usr/share/modules/init/tcsh | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | Ajoutez ensuite les modules dont vous avez besoin (voir ''module avail''). | ||
- | |||
- | ==== pour bash ==== | ||
- | |||
- | |||
- | * ajouter dans le début des scripts : | ||
- | |||
- | <code bash> | ||
- | source /usr/share/modules/init/bash | ||
- | module use /applis/PSMN/Modules | ||
- | module load Base/psmn | ||
- | </code> | ||
- | |||
- | Ajoutez ensuite les modules dont vous avez besoin (voir ''module avail''). | ||
- | |||
- | |||
- | :!: Certains modules chargent automatiquement leurs dépendances, ce qui peut engendrer des conflits. | ||
- | |||
- | |||
- | ===== Modules disponibles (avril 2016) ===== | ||
- | |||
- | Cette liste **n'est pas à jour**, utilisez la commande ''module avail'' pour avoir la liste en cours. | ||
- | |||
- | |||
- | <code> | ||
- | ~$ module avail | ||
- | |||
- | ----------------------------------------------- /applis/PSMN/Modules ----------- | ||
- | ADF/2010.02 Molden/5.0.6 | ||
- | ADF/2012.01 Molden/5.4 | ||
- | ADF/2013.01 Molpro/2010.1-intel-14.0.1 | ||
- | ADF/2013.01.platformmpi Molpro/2010.1-intel-14.0.1-openmp | ||
- | ADF/2014.02 MrBayes/3.2.1-intel-mpi | ||
- | ADF/2014.10 MrBayes/3.2.1-intel-seq | ||
- | Abinit/7.2.1-gnu-4.7.2-x86_64 NAMD/2.11-ibverbs | ||
- | Abinit/7.6.4 NAMD/2.11-ibverbs-smp | ||
- | AllPathsLG/r42874-gnu-4.7.1 NAMD/2.11-ibverbs-smp-CUDA | ||
- | Amber/12-20150109-intel-14.0.1-openmp NAMD/2.11-multicore | ||
- | Amber/12-20150109-intel-14.0.1-openmpi-1.8.4 NAMD/2.11-multicore-CUDA | ||
- | Amber/12-20150109-intel-14.0.1-seq NAMD/2.9-ibverbs | ||
- | Amber/12-20150109-intel-14.0.1-seq-K20-DPDP NAMD/2.9-ibverbs-smp | ||
- | Amber/12-20150109-intel-14.0.1-seq-K20-SPFP NAMD/2.9-ibverbs-smp-CUDA | ||
- | Amber/12-20150109-intel-14.0.1-seq-M2090-DPDP NAMD/2.9-multicore | ||
- | Amber/12-20150109-intel-14.0.1-seq-M2090-SPFP NAMD/2.9-multicore-CUDA | ||
- | Amber/12-intel-14.0.1-openmp NucleoMiner/1.0 | ||
- | Amber/12-intel-14.0.1-openmpi-1.6.4 Oases/0.2.8 | ||
- | Amber/12-intel-14.0.1-openmpi-1.6.4-K20-DPDP OpenAlea/2016 | ||
- | Amber/12-intel-14.0.1-openmpi-1.6.4-K20-SPFP OpenAlea/svn-r4239 | ||
- | Amber/12-intel-14.0.1-openmpi-1.6.4-M2070-DPDP PBSuite/15.2.20 | ||
- | Amber/12-intel-14.0.1-openmpi-1.6.4-M2070-SPFP ParaView/3.12.0 | ||
- | Amber/12-intel-14.0.1-seq ParaView/4.0.1 | ||
- | Amber/12-intel-14.0.1-seq-K20-DPDP ParaView/4.4.0 | ||
- | Amber/12-intel-14.0.1-seq-K20-SPFP PhyML/20120412 | ||
- | Amber/12-intel-14.0.1-seq-M2070-DPDP PhyML/20140223 | ||
- | Amber/12-intel-14.0.1-seq-M2070-SPFP PhyML/3.0 | ||
- | Augustus/3.1 PhyloMerge/0.2 | ||
- | Avogadro/1.1.1 Phylobayes/3.3b | ||
- | BCFtools/1.1 Phylobayes/3.3e | ||
- | BEDTools/2.24.0 Povray/3.7 | ||
- | BLAT/35 Prank/140603 | ||
- | Base/FR.UTF-8 Primer3/2.3.4 | ||
- | Base/debian7 Qbox/1.62.3 | ||
- | Base/psmn Quast/3.2 | ||
- | Base/sge R/2.15.1 | ||
- | Base/test R/3.0.2 | ||
- | Base/test.tcl R/3.2.0 | ||
- | Bismark/0.15.0 R/3.2.4 | ||
- | Blender/2.76b RSEM/1.2.19 | ||
- | Bowtie/0.12.7 RSeQC/2.3.1 | ||
- | Bowtie/1.1.1 RSeQC/2.3.3 | ||
- | Bowtie/2.0.2 SAMtools/0.1.19 | ||
- | Bowtie/2.2.4 SAMtools/1.1 | ||
- | Bwakit/0.7.12 SPAdes/3.6.2 | ||
- | CAFS/1.0 SRAToolkit/2.3.3-2 | ||
- | CP2K/2.2.426 SRAToolkit/2.3.4-2 | ||
- | CP2K/2.5.1 STAR/2.4.1d | ||
- | CP2K/2.5.1-complete Sage/7.0 | ||
- | CP2K/2.5.1-minimal Spinevolution/3.4.4 | ||
- | Cassandra/2.5.4 Spinevolution/3.4.5 | ||
- | Celera/WGS-7.0 StringTie/1.0.1 | ||
- | Celera/WGS-8.3rc2 StringTie/1.2.0 | ||
- | ClonalFrameML/1.25 TopHat/2.0.13 | ||
- | Corset/1.03 Trimmomatic/0.36 | ||
- | Crystal/2.0.1 Trinity/2.0.6 | ||
- | Cufflinks/2.2.1 Trinity/2.1.1 | ||
- | DMAP/20151019 Trinity/r2012-06-08 | ||
- | Dalton/2016.0 Trinity/r20140413 | ||
- | DiscoSNP/2.2.4 Trinity/r20140717 | ||
- | FastQC/0.11.2 Trinotate/2.0.2 | ||
- | FastTree/2.1.7 UCSC/287 | ||
- | FreeFem++/3.42-seq VASP/4.6.36-gnu-4.7.2 | ||
- | GATK/3.4-46 VASP/5.3.2-intel-11.1-debian7 | ||
- | GDL/1.0 VASP/5.3.3-gnu-4.7.2 | ||
- | GFOLD/1.1.4 VASP/5.3.3-intel-14.0.1-debian7 | ||
- | GMAP/2014-10-22 VASP/5.3.5-intel-14.0.1-debian7 | ||
- | Gaussian/g03-lasim VESTA/3.1.7 | ||
- | Gaussian/g09-chimie VMD/1.9.2 | ||
- | Gaussian/g09-geol Velvet/1.2.10 | ||
- | Gaussian/g09c01-chimie ViennaRNA/2.1.9 | ||
- | Gaussian/g09c01-geol aTRAM/1.01 | ||
- | Gaussian/g09c01-icbms breseq/0.26.1 | ||
- | Gaussian/g09d01-chimie fftw/3.3.3-intel-14.0.1-openmp | ||
- | Gaussian/g09d01-geol fftw/3.3.3-intel-14.0.1-openmpi-1.6.4 | ||
- | Gaussian/g09d01-icbms fftw/3.3.3-intel-14.0.1-openmpi-1.8.4 | ||
- | Gaussian/g09d01-lasim fftw/3.3.3-intel-14.0.1-seq | ||
- | HDF5/1.8.15-p1-mpi fftw/3.3.4-intel-14.0.1-openmp-dp | ||
- | HDF5/1.8.15-p1-seq fftw/3.3.4-intel-14.0.1-openmp-sp | ||
- | HDF5/1.8.16-mpich2 fftw/3.3.4-intel-14.0.1-openmpi-1.6.4-dp | ||
- | HDF5/1.8.16-openmpi fftw/3.3.4-intel-14.0.1-openmpi-1.6.4-sp | ||
- | HDF5/1.8.16-seq fftw/3.3.4-intel-14.0.1-openmpi-1.8.4-dp | ||
- | HISAT/0.1.5b fftw/3.3.4-intel-14.0.1-openmpi-1.8.4-sp | ||
- | HISAT/2.0.0b fftw/3.3.4-intel-14.0.1-seq-dp | ||
- | HMMER/3.1b1 fftw/3.3.4-intel-14.0.1-seq-sp | ||
- | HTSeq/0.5.3p3 gromacs/5.0.5 | ||
- | HTSeq/0.5.3p9 intel/11.1.069 | ||
- | HTSeq/0.6.1 intel/12.0.084 | ||
- | HTSlib/1.1 intel/14.0.1 | ||
- | Java/1.6d7 intel/15.0.2 | ||
- | Java/1.7d7 modules.psmn | ||
- | Java/1.8.0u77 openmpi/1.4.1-intel-11.1.069 | ||
- | Jellyfish/2.2.5 openmpi/1.4.5-gnu-4.7.2 | ||
- | Jmol/14.4.0 openmpi/1.5.4-gnu-4.7.2 | ||
- | LSDalton/2016.0 openmpi/1.5.4-intel-12.0.084 | ||
- | Lammps/11Nov13-mpi-1.6.4-intel-14.0.1 openmpi/1.6.4-gnu-4.7.2 | ||
- | Lammps/15May15-mpi-1.8.4-intel-14.0.1 openmpi/1.6.4-intel-12.0.084 | ||
- | Lammps/28Jun14-mpi-1.6.4-intel-14.0.1 openmpi/1.6.4-intel-14.0.1 | ||
- | Lammps/28Jun14-mpi-1.8.4-intel-14.0.1 openmpi/1.8.4-intel-14.0.1 | ||
- | Lammps/7Dec15-mpi-1.8.4-intel-14.0.1 picard/1.140 | ||
- | MAFFT/7.187 prinseq/lite-0.20.4 | ||
- | MAPS/3.4.2 python/2.7 | ||
- | MEME/4.10.2 python/3.2 | ||
- | MIRA/4.0.2 tablemaker/2.1.1 | ||
- | Matlab/R2011b | ||
- | |||
- | </code> | ||
- | |||
- | </hidden> | ||