Introduction+to+CP2K

=Installation instructions=

 Replace the contents of the file /PATH/TO/CP2K/arch/Linux-x86-64-intel.popt with this... and compile with make -j 4 (or 8) ARCH=Linux-x86-64-intel VERSION=popt. Compilation is about 20-30 minutes. This is a parallel install, benchmarks claim something like 100 seconds per MD step for a system of 128 waters at 24 processors (credited at OSC as 2400 seconds). 24 processors places us well within the linear-scaling range of this code with approximately 10x speedup relative to a single processor tackling the same problem. I'd advise never going beyond 24 with this code, it'll be a waste of time. An expression for a potential can be added (it's not a pre-supplied grid) taking the coordinates as input; additional constants can be specified.

Additionally, you have to load several modules... (add this to your ~/.login and any batch scripts that call the executable; add /PATH/TO/CP2K/exe/Linux-x86-64-intel to $PATH as well) module load fftw3/3.3 module swap mvapich2 intelmpi/ 4.0.3.008 module load intel/12.1.4.319 module unload openmpi/1.6.4 (if you had it loaded previously)

CC = cc CPP = FC = mpif90 LD = mpif90 AR = ar -r DFLAGS = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3 CPPFLAGS =
 * - copy here -*
 * 1) bunch of comments went here

INTEL_MKL = /usr/local/intel/composer_xe_2011_sp1.6.233/mkl INTEL_INC = $(INTEL_MKL)/include/fftw INTEL_LIB = $(INTEL_MKL)/lib/intel64 FFTW_LIB = /usr/local/fftw3/3.3-intel/lib/
 * 1) CURRENT OAKLEY CONFIG -- transferable assuming we find INTEL_MKL path.

FCFLAGS = $(DFLAGS) -I$(INTEL_INC) -O3 -msse2 -heap-arrays 64 -funroll-loops -fpp -free FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -O1 -msse2 -heap-arrays 64 -fpp -free LDFLAGS = $(FCFLAGS) -I$(INTEL_INC)
 * 1) -msse2 in place of -xW (deprecated)

LIBS = -L$(FFTW_LIB) -lfftw3_mpi -lfftw3 -lfftw3f_mpi -lfftw3f \ -L${INTEL_LIB} -I${INTEL_INC} -I${INTEL_INC}/intel64/lp64 -lmkl_blas95_lp64 \ -L${INTEL_LIB} -I${INTEL_INC} -I${INTEL_INC}/intel64/lp64 -lmkl_lapack95_lp64 \ ${INTEL_LIB}/libmkl_scalapack_lp64.a ${INTEL_LIB}/libmkl_solver_lp64_sequential.a -Wl,--start-group ${INTEL_LIB}/libmkl_intel_lp64.a ${INTEL_LIB}/libmkl_sequential.a ${INTEL_LIB}/libmkl_core.a ${INTEL_LIB}/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -lpthread
 * 1) Links separate FFTW library and IntelMPI -- OpenMPI does not link here

OBJECTS_ARCHITECTURE = machine_intel.o

graphcon.o: graphcon.F $(FC) -c $(FCFLAGS2) $< *- to here -*  TPP 08/11/13
 * 1) Was in the original, go ahead and leave it