112 lines
4.8 KiB
Diff
112 lines
4.8 KiB
Diff
---
|
|
+++
|
|
@@ -95,6 +95,11 @@
|
|
else
|
|
FCOMPROOT=
|
|
fi
|
|
+
|
|
+# DAMASK uses the HDF5 compiler wrapper around the Intel compiler
|
|
+H5FC="$(h5fc -shlib -show)"
|
|
+HDF5_LIB=${H5FC//ifort/}
|
|
+FCOMP="$H5FC"
|
|
|
|
# AEM
|
|
if test "$MARCDLLOUTDIR" = ""; then
|
|
@@ -390,7 +395,7 @@
|
|
I8DEFINES=
|
|
I8CDEFINES=
|
|
else
|
|
- I8FFLAGS="-i8"
|
|
+ I8FFLAGS="-i8 -integer-size 64"
|
|
I8DEFINES="-DI64"
|
|
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
|
fi
|
|
@@ -498,7 +503,7 @@
|
|
PROFILE=" $PROFILE -pg"
|
|
fi
|
|
|
|
-FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -fp-model source"
|
|
+FORT_OPT="-c -implicitnone -stand f18 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source"
|
|
if test "$MTHREAD" = "OPENMP"
|
|
then
|
|
FORT_OPT=" $FORT_OPT -qopenmp"
|
|
@@ -511,7 +516,7 @@
|
|
FORT_OPT=" $FORT_OPT -save -zero"
|
|
fi
|
|
if test "$MARCHDF_HDF" = "HDF"; then
|
|
- FORT_OPT="$FORT_OPT -DMARCHDF_HDF=$MARCHDF_HDF $HDF_INCLUDE"
|
|
+ FORT_OPT="$FORT_OPT -DMARCHDF=$MARCHDF_HDF"
|
|
fi
|
|
|
|
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
@@ -524,6 +529,30 @@
|
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
|
# for compiling free form f90 files. high opt, integer(4)
|
|
FORTF90="$FCOMP -c -O3"
|
|
+
|
|
+# determine DAMASK version
|
|
+if test -n "$DAMASK_USER"; then
|
|
+ DAMASKROOT=`dirname $DAMASK_USER`/..
|
|
+ read DAMASKVERSION < $DAMASKROOT/VERSION
|
|
+ DAMASKVERSION="'"$DAMASKVERSION"'"
|
|
+else
|
|
+ DAMASKVERSION="'N/A'"
|
|
+fi
|
|
+
|
|
+
|
|
+# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
|
+DFORTLOWMP="$FCOMP -c -O0 -qno-offload -implicitnone -stand f18 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
|
+ -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2020 -DDAMASKVERSION=$DAMASKVERSION \
|
|
+ -qopenmp -qopenmp-threadprivate=compat\
|
|
+ $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
+DFORTRANMP="$FCOMP -c -O1 -qno-offload -implicitnone -stand f18 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
|
+ -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2020 -DDAMASKVERSION=$DAMASKVERSION \
|
|
+ -qopenmp -qopenmp-threadprivate=compat\
|
|
+ $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
+DFORTHIGHMP="$FCOMP -c -O3 -qno-offload -implicitnone -stand f18 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
|
+ -fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2020 -DDAMASKVERSION=$DAMASKVERSION \
|
|
+ -qopenmp -qopenmp-threadprivate=compat\
|
|
+ $MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
|
|
if test "$MARCDEBUG" = "ON"
|
|
then
|
|
@@ -697,16 +726,16 @@
|
|
fi
|
|
|
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
|
- MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
|
-else
|
|
- MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
|
+ MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
|
+else
|
|
+ MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
|
fi
|
|
|
|
SECLIBS="-L$MARC_LIB -llapi"
|
|
|
|
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
|
$MKLLIB -L$MARC_MKL -liomp5 \
|
|
- $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF_LIBS $SOLVER2LIBS"
|
|
+ $MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF5_LIB $SOLVER2LIBS"
|
|
|
|
SOLVERLIBS_DLL=${SOLVERLIBS}
|
|
if test "$AEM_DLL" -eq 1
|
|
@@ -734,7 +763,7 @@
|
|
OPENSSL=NONE
|
|
fi
|
|
|
|
-SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
|
+SYSLIBS=" $OPENMP -lpthread -cxxlib"
|
|
|
|
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
|
# if test $MPITYPE = intelmpi
|
|
@@ -744,7 +773,7 @@
|
|
# fi
|
|
if test $MPITYPE = intelmpi
|
|
then
|
|
- SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib"
|
|
+ SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib"
|
|
fi
|
|
|
|
|