Skip to content

Commit

Permalink
Add Intel popt regression tester arch file
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrack committed Oct 8, 2018
1 parent b796038 commit fef4ea8
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
55 changes: 55 additions & 0 deletions arch/Linux-x86-64-intel-regtest.popt
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Tested with: Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 17.0.4.196 Build 20170411
# Intel MPI, Libxc 4.2.3, libxsmm 1.9, ELPA 2017.05.003, PLUMED 2.1.2
# Author: Matthias Krack (matthias.krack@psi.ch, PSI, October 2018)

include $(MPI_PATH)/plumed/2.1.2/lib/plumed/src/lib/Plumed.inc.static

ELPA_VER = 2017.05.003
ELPA_INC = $(MPI_PATH)/elpa/$(ELPA_VER)/include/elpa-$(ELPA_VER)
ELPA_LIB = $(MPI_PATH)/elpa/$(ELPA_VER)/lib

LIBINT_INC = $(INTEL_DIR)/libint/1.1.4-LARGE_L/include
LIBINT_LIB = $(INTEL_DIR)/libint/1.1.4-LARGE_L/lib
LIBXC_INC = $(INTEL_DIR)/libxc/4.2.3/include
LIBXC_LIB = $(INTEL_DIR)/libxc/4.2.3/lib
LIBXSMM_INC = $(INTEL_DIR)/libxsmm/1.9/include
LIBXSMM_LIB = $(INTEL_DIR)/libxsmm/1.9/lib

CC = mpicc
CPP =
FC = mpiifort
LD = mpiifort
AR = ar -r
CPPFLAGS =
DFLAGS = -D__ELPA=201705 -D__F2008 -D__FFTW3 -D__LIBINT -D__LIBXC -D__LIBXSMM \
-D__MKL -D__MPI_VERSION=3 -D__PLUMED2 \
-D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4 \
-D__parallel -D__SCALAPACK
CFLAGS = $(DFLAGS) -O2
FCFLAGS = $(DFLAGS) -O2 -funroll-loops -fpp -free
FCFLAGS += -fp-model precise
FCFLAGS += -g -traceback
FCFLAGS += -I${MKLROOT}/include -I${MKLROOT}/include/fftw
FCFLAGS += -I$(LIBINT_INC)
FCFLAGS += -I$(LIBXC_INC)
FCFLAGS += -I$(LIBXSMM_INC)
FCFLAGS += -I$(ELPA_INC)/elpa -I$(ELPA_INC)/modules
LDFLAGS = $(FCFLAGS) -static-intel -static_mpi
LDFLAGS_C = $(FCFLAGS) -static-intel -nofor_main
MKL_LIB = ${MKLROOT}/lib/intel64
LIBS = $(PLUMED_DEPENDENCIES) -lz
LIBS += $(ELPA_LIB)/libelpa.a -lstdc++
LIBS += $(MKL_LIB)/libmkl_scalapack_lp64.a \
-Wl,--start-group \
$(MKL_LIB)/libmkl_intel_lp64.a \
${MKL_LIB}/libmkl_sequential.a \
$(MKL_LIB)/libmkl_core.a \
${MKL_LIB}/libmkl_blacs_intelmpi_lp64.a \
-Wl,--end-group
LIBS += $(LIBXC_LIB)/libxcf03.a $(LIBXC_LIB)/libxc.a
LIBS += $(LIBINT_LIB)/libderiv.a $(LIBINT_LIB)/libint.a
LIBS += $(LIBXSMM_LIB)/libxsmmf.a $(LIBXSMM_LIB)/libxsmm.a

# Required due to memory leak that occurs if high optimisations are used
mp2_optimize_ri_basis.o: mp2_optimize_ri_basis.F
$(FC) -c $(subst O2,O0,$(FCFLAGS)) $<
47 changes: 47 additions & 0 deletions tools/regtesting/regtest_conf/Linux-x86-64-intel-regtest.popt.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Name of the Fortran compiler used
export FORT_C_NAME=intel-regtest

# Name and path to the MPI Fortran compiler used
export MPI_F90=mpiifort

# Base directory of CP2K
dir_base=$PWD

# CP2K version: sopt (serial), popt (MPI), ssmp (OpenMP), psmp (MPI+OpenMP) or other (debug...)
cp2k_version=popt

# Arch
dir_triplet=Linux-x86-64-${FORT_C_NAME}
export ARCH=${dir_triplet}

# CP2K directory in the base directory
cp2k_dir=cp2k

# Number of MPI processes per task: should be 1 for serial or 2 for parallel runs
numprocs=2

# Number of threads per process: should be 2 or more for OpenMP runs otherwise 1
numthreads=1

# Maximum number of tasks (CPU cores assigned) for compilation and execution
# Set maxtasks greater than numprocs*numthreads or to a multiple of it
# Allocate all CPU cores for the regtest run
maxtasks=$(nproc --all)
# or restrict their number
#maxtasks=8

# Turn YES to stop regression testing if there are no changes in the svn repository
emptycheck="NO"

# Turn YES if a memory leak checker is used
leakcheck="NO"

# Default error tolerance
default_err_tolerance="1.0E-14"

# *** how to execute an input file [ cp2k_prefix input cp2k_postfix ]
# Leave empty for serial, add path to mpirun for parallel execution
cp2k_run_prefix="mpiexec -np ${numprocs}"

# Allow the config file to set the maximum allowed time. Useful for valgrind runs
job_max_time="900"

0 comments on commit fef4ea8

Please sign in to comment.