Ci-dessous, les différences entre deux révisions de la page.
developpement:activites:integration:lammps4wheezy [2013/05/23 11:03] equemene [Compilation avec FFTW] |
developpement:activites:integration:lammps4wheezy [2015/01/07 10:04] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | * [[developpement:activites:integration|Integration]] | ||
- | |||
- | ====== Installation de LAMMPS sur Debian Wheezy ====== | ||
- | |||
- | Lammps est disponible en [[http://packages.debian.org/stable/main/lammps|version 20120615]] dans la distribution Wheezy. | ||
- | |||
- | Lammps est également disponible dans sa [[http://packages.debian.org/unstable/main/lammps|version 20130503]] dans la Sid au 22 mai 2013 : un rétroportage simple suffit à sa compilation. | ||
- | |||
- | Il peut cependant être nécessaire de le recompiler soi-même pour dans le cadre d'applications très spécifiques. | ||
- | |||
- | ===== Préparation du système ===== | ||
- | |||
- | <code> | ||
- | apt-get install | ||
- | </code> | ||
- | ===== Téléchargement & préparation ===== | ||
- | |||
- | <note important>Toutes les commandes sont à effectuer comme ''root''</note> | ||
- | |||
- | - Récupération de la [[http://lammps.sandia.gov/download.html|dernière version]] sur le site de Sandia : <code>cd /root | ||
- | wget -m -nd http://lammps.sandia.gov/tars/lammps.tar.gz</code> | ||
- | - Ouverture de l'archive :<code>cd /opt | ||
- | tar xvf /root/lammps.tar.gz</code> | ||
- | - Changement des droits : <code>chown -R root.root lammps-*</code> | ||
- | - Etablissement d'un lien générique : <code>ln -s $(tar tzf /root/lammps.tar.gz | tail -1 | awk -F'/' '{ print $1 }') lammps</code> | ||
- | - Passer dans l'archive :<code>cd $(tar tzf /root/lammps.tar.gz | tail -1 | awk -F'/' '{ print $1 }')</code> | ||
- | - Paramétrer une variable de racine pour Lammps : <code>export LAMMPSROOT=$(pwd)</code> | ||
- | - Préparer le MPI local :<code>cd $LAMMPSROOT/src/STUBS | ||
- | make clean | ||
- | make | ||
- | </code> | ||
- | - Préparer les librairies complémentaires :<code> | ||
- | # Compilation de la librairie MEAM | ||
- | cd $LAMMPSROOT/lib/meam | ||
- | make -f Makefile.gfortran clean | ||
- | make -f Makefile.gfortran | ||
- | mv Makefile.lammps Makefile.lammps.intel | ||
- | ln -s Makefile.lammps.gfortran Makefile.lammps | ||
- | |||
- | # Compilation de la librairie COLVARS | ||
- | cd $LAMMPSROOT/lib/colvars | ||
- | make -f Makefile.g++ clean | ||
- | make -f Makefile.g++ | ||
- | |||
- | # Compilation de la librairie POEMS | ||
- | cd $LAMMPSROOT/lib/poems | ||
- | make -f Makefile.g++ clean | ||
- | make -f Makefile.g++ | ||
- | |||
- | # Compilation de la librairie REAX | ||
- | cd $LAMMPSROOT/lib/reax | ||
- | make -f Makefile.gfortran clean | ||
- | make -f Makefile.gfortran | ||
- | mv Makefile.lammps Makefile.lammps.intel | ||
- | ln -s Makefile.lammps.gfortran Makefile.lammps | ||
- | |||
- | # Compilation de la librairie AWPMD | ||
- | cd $LAMMPSROOT/lib/awpmd | ||
- | make -f Makefile.openmpi clean | ||
- | make -f Makefile.openmpi | ||
- | |||
- | </code> | ||
- | - Compiler les éléments indispensables pour exécuter les exemples :<code>cd $LAMMPSROOT/src | ||
- | # activation de tous les modules | ||
- | make yes-all | ||
- | # suspension d'un module très specifique | ||
- | make no-gpu | ||
- | make no-user-cuda | ||
- | # suspension d'un module qui necessite une librairie supplementaire | ||
- | make no-voronoi | ||
- | make no-user-reaxc | ||
- | make no-kim | ||
- | </code> | ||
- | |||
- | ===== Compilation basique===== | ||
- | |||
- | <code> | ||
- | # Preparation de la librairie ATC complée avec MPI | ||
- | cd $LAMMPSROOT/lib/atc | ||
- | sed -e 's/\-O\ \-g/\-O\ \-g \-fpermissive/' -i~ Makefile.serial | ||
- | make -f Makefile.serial clean | ||
- | make -f Makefile.serial | ||
- | </code> | ||
- | |||
- | <code> | ||
- | cd $LAMMPSROOT/src | ||
- | # lancer la compilation | ||
- | make serial | ||
- | </code> | ||
- | |||
- | Si la compilation est réussie, un exécutable statique ''lmp_serial'', se trouve à la racine du dossier. | ||
- | |||
- | |||
- | ===== Compilation avec FFTW ===== | ||
- | |||
- | Installation préliminaire | ||
- | <code> | ||
- | sudo apt-get install -y fftw2 fftw-dev | ||
- | </code> | ||
- | |||
- | Importation du Makefile [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.fftw|Makefile.fftw]] dans le répertoire $LAMMPSROOT/src/MAKE :<code>cd $LAMMPSROOT/src/MAKE | ||
- | cp Makefile.serial Makefile.fftw | ||
- | sed -i "s/FFT_INC\ =/FFT_INC\ =\ -DFFT_FFTW/g" Makefile.fftw | ||
- | sed -i "s/FFT_LIB\ =/FFT_LIB\ =\ -lfftw/g" Makefile.fftw | ||
- | </code> | ||
- | |||
- | Compilation | ||
- | <code>cd $LAMMPSROOT/src | ||
- | make fftw</code> | ||
- | |||
- | Si la compilation est réussie, un exécutable statique ''lmp_fftw'', se trouve à la racine du dossier. | ||
- | ===== Compilation avec FFTW et OpenMPI ===== | ||
- | |||
- | Installation préliminaire | ||
- | <code> | ||
- | sudo apt-get install -y libopenmpi-dev openmpi-bin libopenmpi1.3 openmpi-common | ||
- | sudo apt-get install -y fftw2 fftw-dev | ||
- | </code> | ||
- | |||
- | Importation du Makefile pour ATC et compilation [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.mpic++|Makefile.mpic++]] dans le répertoire ''$LAMMPSROOT/lib/atc'' :<code>cd $LAMMPSROOT/lib/atc | ||
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.mpic++ | ||
- | # Preparation de la librairie ATC complée avec MPI | ||
- | cd $LAMMPSROOT/lib/atc | ||
- | make -f Makefile.mpic++ clean | ||
- | make -f Makefile.mpic++ | ||
- | </code> | ||
- | |||
- | Importation du Makefile [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.openmpi|Makefile.openmpi]] dans le répertoire ''$LAMMPSROOT/src/MAKE'' :<code>cd $LAMMPSROOT/src/MAKE | ||
- | mv Makefile.openmpi Makefile.openmpi.orig | ||
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.openmpi</code> | ||
- | |||
- | Compilation | ||
- | <code>cd $LAMMPSROOT/src | ||
- | make openmpi</code> | ||
- | |||
- | Si la compilation est réussie, un exécutable statique ''lmp_openmpi'', se trouve à la racine du dossier. | ||
- | ===== Vérification de fonctionnement ===== | ||
- | |||
- | La page [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/dokuwiki/doku.php?id=tools4test|Tools4Test]] et plus précisemment celle liée à | ||
- | [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/dokuwiki/doku.php?id=tools4test#lammps|Lammps]] détaille comment installer Lammps dans son environnement personnel (au CBP) et lancer quelques exemples. | ||
- | |||