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