* [[developpement:activites:integration|Integration]]
====== Intégration de Siesta sur une Debian Wheezy ======
Il n'existe aucune version de Siesta dans la Debian, ni dans Squeeze, ni même dans Sid.
===== Compilation de l'application =====
==== Installation des prérequis ====
apt-get install libopenmpi-dev libnetcdf-dev openmpi-bin openmpi-common libhdf5-openmpi-dev gfortran libscalapack-mpi-dev liblapack-dev liblapack3 libatlas-base-dev libatlas3-base libopenblas-dev libopenblas-base
==== Récupération des sources ====
Le téléchargement du code suppose l'acceptation de la licence académique associée.
cd /root
wget http://www.icmab.es/dmmis/leem/siesta/CodeAccess/Code/siesta-3.1.tgz
==== Expansion de l'archive ====
cd /opt
tar xzf /root/siesta-3.1.tgz
cd /opt/siesta-3.1
==== Compilation ====
La Debian Wheezy comprend deux implémentations des librairies BLAS : ATLAS et OpenBLAS. La première est historique, la seconde issue de
=== Version compilée avec OpenBLAS ===
cd Obj
make clean
sh ../Src/obj_setup.sh
LDFLAGS="-L/usr/lib/openblas-base -L/usr/lib/lapack /usr/lib/openblas-base/libopenblas.a /usr/lib/lapack/liblapack.a /usr/lib/libscalapack-openmpi.a -lblacsCinit-openmpi -lblacs-openmpi" ../Src/configure --enable-mpi --enable-fast --with-blas=/usr/lib/openblas-base/libopenblas.a --with-lapack=/usr/lib/lapack/liblapack.a --with-scalapack=/usr/lib/libscalapack-openmpi.a --prefix=/opt/siesta-3.1
make -j 4
mv siesta siesta.OpenBLAS
=== Version compilée avec ATLAS ===
cd Obj
make clean
sh ../Src/obj_setup.sh
LDFLAGS="-L/usr/lib/atlas-base/atlas /usr/lib/libscalapack-openmpi.a -lblacsCinit-openmpi -lblacs-openmpi" ../Src/configure --enable-mpi --enable-fast --with-blas=/usr/lib/atlas-base/atlas/libblas.a --with-lapack=/usr/lib/atlas-base/atlas/liblapack.a --with-scalapack=/usr/lib/libscalapack-openmpi.a --prefix=/opt/siesta-3.1
make -j 4
mv siesta siesta.ATLAS
==== Installation ====
cd /opt
ln -s siesta-3.1 siesta
cd /usr/local/bin
ln -s /opt/siesta/Obj/siesta.OpenBLAS siesta.OpenBLAS
ln -s /opt/siesta/Obj/siesta.ATLAS siesta.ATLAS
# Par defaut, la version utilisée est la version multhreadee, OpenBLAS
ln -s siesta.OpenBLAS siesta
===== Exécution des tests =====
cd /opt/siesta/Tests
time make SIESTA=/opt/siesta/Obj/siesta.OpenBLAS 2>&1 > logs.OpenBLAS
make clean
time make SIESTA=/opt/siesta/Obj/siesta.ATLAS 2>&1 > logs.ATLAS
--- //[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] 2012/09/03 11:13//