Difference between revisions of "Benchmarking: CP2K"

From Define Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
Instructions to build CP2K using OpenMPI 1.4.3 (OFED 1.5.4.1)  and Intel Compilers (v12 and v13 tested)
 
Instructions to build CP2K using OpenMPI 1.4.3 (OFED 1.5.4.1)  and Intel Compilers (v12 and v13 tested)
 +
 +
== About CP2K ==
 +
CP2K is a freely available (GPL) program, written in
 +
Fortran, to perform atomistic and molecular simulations
 +
of solid state, liquid, molecular and biological systems. It
 +
provides a general framework for different methods such
 +
as density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair
 +
and many-body potentials, solid state, liquid, molecular
 +
and biological systems. CP2K, including its sources and
 +
pointers to the authors can be found at:
 +
http://cp2k.berlios.de/
  
 
== Create the arch file ==
 
== Create the arch file ==

Revision as of 20:50, 8 October 2012

Instructions to build CP2K using OpenMPI 1.4.3 (OFED 1.5.4.1) and Intel Compilers (v12 and v13 tested)

About CP2K

CP2K is a freely available (GPL) program, written in Fortran, to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different methods such as density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials, solid state, liquid, molecular and biological systems. CP2K, including its sources and pointers to the authors can be found at: http://cp2k.berlios.de/

Create the arch file

Contents of the arch/Linux-x86-64-intel.popt

INTEL_MKL=/share/apps/intel/composer_xe_2013.0.079/mkl
INTEL_INC=$(INTEL_MKL)/include/fftw
INTEL_LIB=$(INTEL_MKL)/lib/intel64

CC       = cc
CPP      =
FC       = mpif90
LD       = mpif90 
AR       = xiar -r

DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3
CPPFLAGS =
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)
LIBS     = -L$(INTEL_LIB) -lfftw3xf_intel \
           -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_openmpi_lp64.a -Wl,--end-group -lpthread


OBJECTS_ARCHITECTURE = machine_intel.o

graphcon.o: graphcon.F
        $(FC) -c $(FCFLAGS2) $<

qs_vxc_atom.o: qs_vxc_atom.F
        $(FC) -c $(FCFLAGS2) $<