Skip to content

Compiling on JUWELS with QPhiX and DDalphaAMG

Bartosz Kostrzewa edited this page Feb 1, 2019 · 1 revision

Modules

Using Software stage 2018b, the following set of modules should be loaded.

GCCcore/.7.3.0
binutils/.2.31.1
StdEnv
jscslurm/.17.11.12
jsctools/.0.1
.juwels-env
icc/.2019.0.117-GCC-7.3.0
ifort/.2019.0.117-GCC-7.3.0
Intel/2019.0.117-GCC-7.3.0
IntelMPI/2018.4.274
ncurses/.6.1
CMake/3.13.0
imkl/2019.0.117
Bison/.3.1
flex/2.6.4
bzip2/.1.0.6
zlib/.1.2.11
libreadline/.7.0
Tcl/8.6.8
SQLite/.3.22.0
expat/.2.2.6
libpng/.1.6.35
freetype/.2.9.1
gperf/.3.1
util-linux/.2.32.1
fontconfig/.2.13.1
X11/20180604
Tk/.8.6.8
GMP/6.1.2
XZ/.5.2.4
libxml2/.2.9.7
libxslt/.1.1.32
libffi/.3.2.1
libyaml/.0.2.1
Java/1.8
PostgreSQL/10.3
protobuf/.3.6.1
gflags/.2.2.1
libspatialindex/.1.8.5
NASM/.2.13.03
libjpeg-turbo/.1.5.3
Python/3.6.6

DDalphaAMG

Modify the Makefile:

CC = mpiicc
CFLAGS_intel = -std=gnu99 -Wall -pedantic -O3  -xSKYLAKE-AVX512 -fma -qopenmp
CFLAGS = $(CFLAGS_intel)
LIMEDIR=${PROJECT_chbn28}/hbn288/local/juwels/libs/stage-2018b/skylake-avx512/lime

LIME

CC=icc \
  CFLAGS="-O3 -std=c99 -fma -xSKYLAKE-AVX512" \
  ${HOME}/code/lime/configure \
  --prefix=${lime_install_dir}

LEMON

CC=mpiicc \
  CFLAGS="-O3 -fma -xSKYLAKE-AVX512 -std=c99" \
  ${HOME}/code/lemon/configure \
  --prefix=${lemon_install_dir}

QMP

CC=mpiicc \
  CFLAGS="-std=c99 -O3 -fma -xSKYLAKE-AVX512" \
  ${HOME}/code/qmp/configure \
  --prefix=${qmp_install_dir} \
  --with-qmp-comms-type=MPI 

QPhiX

CC=icc \
CXX=mpiicpc \
CXXFLAGS="-fma -xSKYLAKE-AVX512 -std=c++11 -O3 -qopenmp" \
cmake -Disa=avx512  \
      -DQMP_DIR=${qmp_install_dir} \
      -Dparallel_arch=parscalar \
      -Dhost_cxx=g++ \
      -Dhost_cxxflags="-std=c++11 -O3" \
      -Dtwisted_mass=TRUE \
      -Dtm_clover=TRUE \
      -Dclover=TRUE \
      -Drecursive_jN=24 \
      -Dtesting=FALSE  \
      -DCMAKE_INSTALL_PREFIX=${qphix_install_dir} ~/code/qphix