Depuis la Wheezy, CP2K est dans l'archive standard de la Debian : l'archive stable Wheezy propose la version 2.2.426.
Un rétroportage de la version 2.4 est possible à partir des archives Sid, moyennant le rétroportage de la dépendance libxc
.
Il peut cependant être nécessaire de disposer de sa propre version sur sa machine.
Le site officiel de CP2K décrit de manière exhaustive les tenants et les aboutissants du projet.
En plus d'un compilateur fortran, CP2K a besoin d'un certain nombre de librairies FFTW3, ATLAS ou OpenBLAS :
sudo apt-get install gfortran libfftw3-dev liblapack-dev python-support bison flex byacc libopenblas-dev libatlas-dev libint-dev
Dans le cas d'une compilation parallèle avec OpenMP :
sudo apt-get install libgomp1
sudo apt-get install openmpi-bin libopenmpi-dev libblacs-mpi-dev libscalapack-mpi-dev libfftw3-mpi-dev
Il est nécessaire de disposer de la ligne suivante dans son /etc/apt/sources.list
:
deb-src http://ftp.de.debian.org/debian/ sid main contrib non-free
apt-get install pbuilder aptitude update cd /tmp apt-get source libxc sudo apt-get build-dep -y libxc cd libxc-2.* debuild cd .. sudo dpkg -i libxc*_amd64.deb
Deux méthodes pour récupérer les sources de CP2K : le téléchargement via CVS et le téléchargement direct de l'archive construite quotidiennement :
cd /opt svn checkout svn://svn.code.sf.net/p/cp2k/code/trunk cp2k mv cp2k cp2k-$(date "+%Y%m%d") ln -s cp2k-$(date "+%Y%m%d") cp2k
cd /opt svn checkout svn://svn.code.sf.net/p/cp2k/code/branches/cp2k-2_5-branch cp2k-2.5 ln -s cp2k-2.5/cp2k cp2k
wget -O /root/cp2k-2.5.1.tar.bz2 http://sourceforge.net/projects/cp2k/files/cp2k-2.5.1.tar.bz2/download cd /opt tar jxf /root/cp2k-2.5.1.tar.bz2 ln -s cp2k-2.5.1 cp2k
Etablissement d'une variable pour nous faciliter la tâche
cd cp2k export CP2K_HOME=$(pwd)
Les Makefile
disponibles dans le dossier $CP2K_HOME/makefiles
ne sont par directement exploitables en Debian Wheezy.
De plus, la Wheezy intègre maintenant deux versions complètes de BLAS : ATLAS et OpenBLAS. OpenBLAS est l'héritier de GotoBLAS et permet un usage très efficace des coeurs au sein d'un même noeud.
Les Makefile
Linux-amd64-Debian-OpenBLAS.sopt et Linux-amd64-Debian-ATLAS.sopt ont été adaptés pour exploiter le socle Debian Wheezy.
wget -O $CP2K_HOME/arch/Linux-amd64-Debian-OpenBLAS.sopt http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-OpenBLAS.sopt cd $CP2K_HOME/makefiles make distclean time make -j8 ARCH=Linux-amd64-Debian-OpenBLAS VERSION=sopt
wget -O $CP2K_HOME/arch/Linux-amd64-Debian-ATLAS.sopt http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-ATLAS.sopt cd $CP2K_HOME/makefiles make distclean time make -j8 ARCH=Linux-amd64-Debian-ATLAS VERSION=sopt
C'est ici que vont servir les paquets OpenMPI, Blacs et Scalapack.
Les Makefile
Linux-amd64-Debian-OpenBLAS.ssmp et Linux-amd64-Debian-ATLAS.ssmp ont été adaptés pour exploiter le socle Debian Wheezy.
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-OpenBLAS.ssmp http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-OpenBLAS.ssmp time make -j4 ARCH=Linux-amd64-Debian-OpenBLAS VERSION=ssmp
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-ATLAS.ssmp http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-ATLAS.ssmp time make -j4 ARCH=Linux-amd64-Debian-ATLAS VERSION=ssmp
C'est ici que vont servir les paquets OpenMPI, Blacs et Scalapack.
Les Makefile
Linux-amd64-Debian-OpenBLAS.popt et Linux-amd64-Debian-ATLAS.popt ont été adaptés pour exploiter le socle Debian Wheezy.
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-OpenBLAS.popt http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-OpenBLAS.popt time make -j4 ARCH=Linux-amd64-Debian-OpenBLAS VERSION=popt
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-ATLAS.popt http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-ATLAS.popt time make -j4 ARCH=Linux-amd64-Debian-ATLAS VERSION=popt
C'est ici que vont servir les paquets OpenMP, OpenMPI, Blacs et Scalapack.
Les Makefile
Linux-amd64-Debian-OpenBLAS.psmp et Linux-amd64-Debian-ATLAS.psmp ont été adaptés pour exploiter le socle Debian Wheezy.
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-OpenBLAS.psmp http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-OpenBLAS.psmp time make -j4 ARCH=Linux-amd64-Debian-OpenBLAS VERSION=psmp
cd $CP2K_HOME/makefiles wget -O $CP2K_HOME/arch/Linux-amd64-Debian-ATLAS.psmp http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/CP2K/Linux-amd64-Debian-ATLAS.psmp time make -j4 ARCH=Linux-amd64-Debian-ATLAS VERSION=psmp
Lancement d'un exemple :
cd $CP2K_HOME/tests/Fist mpirun.openmpi -x OMP_NUM_THREADS=1 -np 8 $CP2K_HOME/exe/Linux-amd64-Debian-OpenBLAS/cp2k.popt al2o3.inp
— Emmanuel Quemener 2014/05/21 15:05