* [[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.