Ceci est une ancienne révision du document !
Il s'agit de la version du dépôt de développement CP2K (la plus complète au niveau des fonctionnalités).
L'installation ci-dessous a été faite à l'automne 2014 (sur la dernière révision du CP2K et avec les dernières versions de la suite Intel et OpenMPI disponibles à ce moment là).
Il faut d'abord charger l'environnement correspondant (Debian + Intel + OpenMPI) sur l'un des serveurs de compilation Debian :
$ source /usr/share/modules/init/tcsh $ module use /applis/PSMN/Modules $ module load Base/psmn $ module load openmpi/1.6.4-intel-14.0.1
$ svn checkout svn://svn.code.sf.net/p/cp2k/code/trunk cp2k-devel-cic A cp2k-devel-cic/basis_sets ... A cp2k-devel-cic/potentials/mm_potentials/mathematica/FitPot.nb Révision 14631 extraite.
$ cd cp2k-devel-cic/cp2k/arch
Modifier le fichier de configuration Linux-x86-64-intel-MKL.popt comme suit, afin de prendre correctement en compte les composantes BLAS, LAPACK et FFT de MKL (avec l'interface FFTW) :
$ cat Linux-x86-64-intel-MKL.popt # # CC = cc CPP = FC = mpif90 LD = mpif90 AR = ar -r MKLROOT=/softs/intel/v13/mkl INTEL_LIB = $(MKLROOT)/lib/intel64 LIBXC_DIR = /applis/PSMN/debian7/Libs/libXC/2.0.1/intel-14.0.1-avx CPPFLAGS = DFLAGS = -D__MKL -D__FFTW3 -D__LIBXC2 -D__parallel \ -D__SCALAPACK CFLAGS = $(DFLAGS) FCFLAGS = $(DFLAGS) -O2 -g -traceback -fpp -free \ -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw FCFLAGS2 = $(DFLAGS) -O1 -g -traceback -fpp -free \ -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw FCFLAGS3 = $(DFLAGS) -O0 -g -traceback -fpp -free \ -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw LDFLAGS = $(FCFLAGS) -static-intel LIBS = $(INTEL_LIB)/libmkl_scalapack_lp64.a \ -L${INTEL_LIB} -lmkl_blas95_lp64 \ -L${INTEL_LIB} -lmkl_lapack95_lp64 \ -Wl,--start-group $(INTEL_LIB)/libmkl_intel_lp64.a \ $(INTEL_LIB)/libmkl_sequential.a \ $(INTEL_LIB)/libmkl_core.a \ $(INTEL_LIB)/libmkl_blacs_openmpi_lp64.a -Wl,--end-group \ -lpthread -lm \ -L$(LIBXC_DIR)/lib -lxc \ OBJECTS_ARCHITECTURE = machine_intel.o graphcon.o: graphcon.F $(FC) -c $(FCFLAGS2) $< qs_vxc_atom.o: qs_vxc_atom.F $(FC) -c $(FCFLAGS2) $<
$ cd ../makefiles $ make -j 4 ARCH=Linux-x86-64-intel-MKL VERSION=popt
Cette étape peut durer quelques dizaines de minutes (un café bien mérité est possible …).
Le binaire est ainsi généré : $HOME/cp2k-devel-cic/cp2k/exe/Linux-x86-64-intel-MKL/cp2k.popt
On peut lancer un test rapide fourni dans CP2K directement sur le serveur de compilation :
$ cd ../tests/QS/ $ mpirun -np 2 $HOME/cp2k-devel-cic/cp2k/exe/Linux-x86-64-intel-MKL/cp2k.popt C.inp
Regarder par exemple le temps total (2.9 s pour le cas présent)
Plusieurs jobs ont été exécutés sur des configurations fournies par des utilisateurs PSMN en utilisant les queues de production E5-2670. Les résultats ont montré un gain du temps de calcul par un facteur entre 5 et 6 par rapport aux installations génériques.