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 2012/09/03 11:13

developpement/activites/integration/siesta4wheezy.txt · Dernière modification: 2015/01/07 10:04 (modification externe)