* [[developpement:activites:integration|Integration]] ====== Installation de LAMMPS sur Debian ====== Page mise à jour le 18 avril 2012 ===== Préparation du système ===== Toutes les commandes sont à effectuer comme ''root'' - Récupération de la [[http://lammps.sandia.gov/download.html|dernière version]] sur le site de Sandia : cd /root wget -m -nd http://lammps.sandia.gov/tars/lammps.tar.gz - Ouverture de l'archive :cd /opt tar xvf /root/lammps.tar.gz - Changement des droits : chown -R root.root lammps-* - Etablissement d'un lien générique : ln -s $(tar tzf /root/lammps.tar.gz | tail -1 | awk -F'/' '{ print $1 }') lammps - Passer dans l'archive :cd $(tar tzf /root/lammps.tar.gz | tail -1 | awk -F'/' '{ print $1 }') - Paramétrer une variable de racine pour Lammps : export LAMMPSROOT=$(pwd) - Préparer le MPI local :cd $LAMMPSROOT/src/STUBS make clean make - Préparer les librairies complémentaires : # 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 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 - Compiler les éléments indispensables pour exécuter les exemples :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 # make no-kim ===== Compilation basique===== # 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 cd $LAMMPSROOT/src # Modification du Makefile (remplacer la reference a un g++4 !) sed -e 's/g++4/g++/' -i~ MAKE/Makefile.serial # lancer la compilation make serial Si la compilation est réussie, un exécutable statique ''lmp_serial'', se trouve à la racine du dossier. ===== Compilation avec FFTW ===== Installation préliminaire sudo apt-get install -y fftw2 fftw-dev Importation du Makefile [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.fftw|Makefile.fftw]] dans le répertoire $LAMMPSROOT/src/MAKE :cd $LAMMPSROOT/src/MAKE mv Makefile.fftw Makefile.fftw.Intel wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.fftw Compilation cd $LAMMPSROOT/src make fftw 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 sudo apt-get install -y libopenmpi-dev openmpi-bin libopenmpi1.3 openmpi-common sudo apt-get install -y fftw2 fftw-dev 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'' :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++ Importation du Makefile [[http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.openmpi|Makefile.openmpi]] dans le répertoire ''$LAMMPSROOT/src/MAKE'' :cd $LAMMPSROOT/src/MAKE mv Makefile.openmpi Makefile.openmpi.orig wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/LAMMPS/Makefile.openmpi Compilation cd $LAMMPSROOT/src make openmpi 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.