-
Notifications
You must be signed in to change notification settings - Fork 363
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Intel popt regression tester arch file
- Loading branch information
Showing
2 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
47
tools/regtesting/regtest_conf/Linux-x86-64-intel-regtest.popt.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" |