From c91db6dc4171de1712def7bde3a33563b5c75cc9 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 13 Feb 2018 11:07:47 +0100 Subject: [PATCH] Philippe 13/02/2018: MNH_REAL modification * always set MNH_REAL (8 by default) * MNH_REAL has to be set to 4 or 8 (and not R4 or R8) * XYZ is slightly modified to contain ...-ARCH-RxIy-... * pass MNH_REAL to pre-processing * replace MNH_REALS by MNH_REAL --- conf/profile_mesonh.ihm | 2 +- src/LIB/MPIvide/mpivide.c | 4 ++-- src/Makefile.MESONH.mk | 13 +++++-------- src/Rules.BGQ.mk | 3 ++- src/Rules.LXgfortran.mk | 4 ++-- src/Rules.LXifort.mk | 4 ++-- src/Rules.LXpgi.mk | 4 ++-- src/configure | 3 ++- src/job_make_examples_BG | 2 +- src/job_make_examples_BGQ | 2 +- src/job_make_examples_BullX | 2 +- src/job_make_examples_BullX_eos | 2 +- src/job_make_examples_BullX_occigen | 2 +- src/job_make_examples_CRAY_cca | 2 +- src/job_make_examples_IBM_ada | 2 +- src/job_make_examples_IBM_sp6_vargas | 2 +- src/job_make_examples_NEC_SX8 | 2 +- src/job_make_examples_SX8 | 2 +- src/job_make_examples_cxa | 2 +- src/job_make_mesonh_BG | 2 +- src/job_make_mesonh_BGQ | 2 +- src/job_make_mesonh_BullX | 2 +- src/job_make_mesonh_CRAY_cca | 2 +- src/job_make_mesonh_IBM_ada | 2 +- src/job_make_mesonh_IBM_sp6_vargas | 2 +- src/job_make_mesonh_MFSX8 | 2 +- src/job_make_mesonh_NEC_SX8 | 2 +- src/job_make_mesonh_cxa | 2 +- src/job_make_mesonh_user_BullX | 2 +- src/job_make_mesonh_user_MFSX8 | 2 +- 30 files changed, 40 insertions(+), 41 deletions(-) diff --git a/conf/profile_mesonh.ihm b/conf/profile_mesonh.ihm index b546a5330..24f07cea5 100755 --- a/conf/profile_mesonh.ihm +++ b/conf/profile_mesonh.ihm @@ -120,7 +120,7 @@ export VERSION_NCL=${VERSION_NCL} ########################################################## ########################################################## # -export XYZ="-\${ARCH}\${MNH_REAL:+\${MNH_REAL}}I\${MNH_INT}-\${VERSION_XYZ}\${VER_USER:+-\${VER_USER}}-\${VER_MPI}-\${OPTLEVEL}" +export XYZ="-\${ARCH}-R\${MNH_REAL}I\${MNH_INT}-\${VERSION_XYZ}\${VER_USER:+-\${VER_USER}}-\${VER_MPI}-\${OPTLEVEL}" #[ "x\${VER_USER}" != "x" ] && export XYZ="\${XYZ}-\${VER_USER}" # PATH to find tools like "makegen, etc ..." export BIN_TOOLS=${BIN_TOOLS} diff --git a/src/LIB/MPIvide/mpivide.c b/src/LIB/MPIvide/mpivide.c index 24ec98b16..f321b5211 100644 --- a/src/LIB/MPIvide/mpivide.c +++ b/src/LIB/MPIvide/mpivide.c @@ -9,7 +9,7 @@ MNH_LIC for details. version 1. /* Variables defined in meso-nh code */ #ifdef FUJI -#if MNH_REALS == 4 +#if MNH_REAL == 4 #define MPI_PRECISION MPI_REAL #define MPI_2PRECISION MPI_2REAL #else @@ -32,7 +32,7 @@ MNH_LIC for details. version 1. #define SIZEINTEGER 4 #define SIZELOGICAL 4 #endif -#if MNH_REALS == 4 +#if MNH_REAL == 4 #define SIZEPRECISION 4 #define SIZE2PRECISION 8 #else diff --git a/src/Makefile.MESONH.mk b/src/Makefile.MESONH.mk index 7f6f3cdb2..132f89eeb 100644 --- a/src/Makefile.MESONH.mk +++ b/src/Makefile.MESONH.mk @@ -14,7 +14,7 @@ OBJDIR_ROOT=${PWD}/dir_obj endif LIB_OBJS_ROOT=lib # -ARCH_XYZ=${ARCH}${MNH_REAL}I${MNH_INT}-${VERSION_XYZ} +ARCH_XYZ=${ARCH}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ} ########################################################## # # # Source DIRECTORY # @@ -54,7 +54,9 @@ INC += $(INC_MNH) # CPPFLAGS += -DMNH_INT=$(MNH_INT) # - +# MNH real 4/8 +# +CPPFLAGS += -DMNH_REAL=$(MNH_REAL) # # Len of HREC characters # @@ -247,12 +249,7 @@ INC_MPI = -I$(B)$(DIR_MPI) DIR_MASTER += $(DIR_MPI) OBJS_LISTE_MASTER += mpivide.o INC += $(INC_MPI) -ifneq "$(MNH_REAL)" "R4" -MNH_REALS=8 -else -MNH_REALS=4 -endif -mpivide.o : CPPFLAGS += -DFUJI -DMNH_INT=$(MNH_INT) -DMNH_REALS=$(MNH_REALS) \ +mpivide.o : CPPFLAGS += -DFUJI -DMNH_INT=$(MNH_INT) -DMNH_REAL=$(MNH_REAL) \ -I$(DIR_MPI)/include VPATH += $(DIR_MPI) endif diff --git a/src/Rules.BGQ.mk b/src/Rules.BGQ.mk index d9d9110bc..e1e735144 100644 --- a/src/Rules.BGQ.mk +++ b/src/Rules.BGQ.mk @@ -30,8 +30,9 @@ OPT_NONAN = -qsigtrap -qflttrap=qpxstore:overflow:zerodivide:invalid:enable -qf OPT_I8 = -qintsize=8 -qxlf77=intarg OPT_I4 = -qintsize=4 -qxlf77=intarg # -# Integer 4/8 option +# Real/Integer 4/8 option # +MNH_REAL ?=8 MNH_INT ?=4 LFI_RECL ?=512 # diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk index 4f994bbf6..679da37ad 100644 --- a/src/Rules.LXgfortran.mk +++ b/src/Rules.LXgfortran.mk @@ -24,12 +24,12 @@ OPT_R8 = -fdefault-real-8 -fdefault-double-8 # # Real/Integer 4/8 option # -MNH_REAL ?=R8 +MNH_REAL ?=8 MNH_INT ?=4 LFI_RECL ?=512 # # -ifneq "$(MNH_REAL)" "R4" +ifneq "$(MNH_REAL)" "4" OPT_BASE += $(OPT_R8) CPPFLAGS_SURCOUCHE += -DMNH_MPI_DOUBLE_PRECISION endif diff --git a/src/Rules.LXifort.mk b/src/Rules.LXifort.mk index 92c9a4960..9da29243d 100644 --- a/src/Rules.LXifort.mk +++ b/src/Rules.LXifort.mk @@ -19,11 +19,11 @@ OPT_R8 = -r8 # # Real/integer 4/8 option # -MNH_REAL ?=R8 +MNH_REAL ?=8 MNH_INT ?=4 LFI_RECL ?=512 # -ifneq "$(MNH_REAL)" "R4" +ifneq "$(MNH_REAL)" "4" OPT_BASE += $(OPT_R8) CPPFLAGS_SURCOUCHE += -DMNH_MPI_DOUBLE_PRECISION endif diff --git a/src/Rules.LXpgi.mk b/src/Rules.LXpgi.mk index 48099b490..9b53a87c3 100644 --- a/src/Rules.LXpgi.mk +++ b/src/Rules.LXpgi.mk @@ -28,11 +28,11 @@ IGNORE_OBJS += pgprof.o # # Real/integer 4/8 option # -MNH_REAL ?=R8 +MNH_REAL ?=8 MNH_INT ?=4 LFI_RECL ?=512 # -ifneq "$(MNH_REAL)" "R4" +ifneq "$(MNH_REAL)" "4" OPT_BASE += $(OPT_R8) CPPFLAGS_SURCOUCHE += -DMNH_MPI_DOUBLE_PRECISION endif diff --git a/src/configure b/src/configure index 9a3f1538c..2df691576 100755 --- a/src/configure +++ b/src/configure @@ -19,6 +19,7 @@ export VERSION_CDFF=${VERSION_CDFF:-"4.4.4"} export VERSION_GRIBAPI=${VERSION_GRIBAPI:-"1.13.1"} export MNH_INT=${MNH_INT:-"4"} export LFI_INT=${LFI_INT:-8} +export MNH_REAL=${MNH_REAL:-"8"} export MNH_IOCDF4=${MNH_IOCDF4:-1} export VERSION_OASIS=${VERSION_OASIS:-"mct_v3"} @@ -398,7 +399,7 @@ fi # ${LOCAL}/bin/eval_dollar profile_mesonh.ihm > profile_mesonh chmod +x profile_mesonh -XYZ=${ARCH}${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${VER_USER:+-${VER_USER}}-${VER_MPI}-${OPTLEVEL} +XYZ=${ARCH}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${VER_USER:+-${VER_USER}}-${VER_MPI}-${OPTLEVEL} cp profile_mesonh profile_mesonh-${XYZ} # # Do some post-install stuff diff --git a/src/job_make_examples_BG b/src/job_make_examples_BG index b1dd036a5..d599f04c3 100755 --- a/src/job_make_examples_BG +++ b/src/job_make_examples_BG @@ -18,7 +18,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-BGI4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-BG-R8I4-MNH-V5-4-0-MPIAUTO-O2 #001_2Drelief 002_3Drelief 003_KW78 004_Reunion 007_16janvier diff --git a/src/job_make_examples_BGQ b/src/job_make_examples_BGQ index a3fe0a241..5df19fcff 100755 --- a/src/job_make_examples_BGQ +++ b/src/job_make_examples_BGQ @@ -18,7 +18,7 @@ cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-BGQI4-MNH-V5-4-0-MPIAUTO-O2NAN +. ../conf/profile_mesonh-BGQ-R8I4-MNH-V5-4-0-MPIAUTO-O2NAN set -x diff --git a/src/job_make_examples_BullX b/src/job_make_examples_BullX index 020a5202b..e7c3fdcdf 100755 --- a/src/job_make_examples_BullX +++ b/src/job_make_examples_BullX @@ -19,7 +19,7 @@ set -e hostname # Echo des commandes -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O3 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O3 export MONORUN="Mpirun -np 1 " export MPIRUN="Mpirun -np 2 " export POSTRUN="time " diff --git a/src/job_make_examples_BullX_eos b/src/job_make_examples_BullX_eos index 07b292505..e34693a12 100755 --- a/src/job_make_examples_BullX_eos +++ b/src/job_make_examples_BullX_eos @@ -17,7 +17,7 @@ set -x # Nom de la machine hostname -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O2 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O2 export MONORUN="mpirun -prepend-rank -np 1 " export MPIRUN="mpirun -prepend-rank -np 4 " export POSTRUN="time " diff --git a/src/job_make_examples_BullX_occigen b/src/job_make_examples_BullX_occigen index 90d743b65..c15c6caf8 100755 --- a/src/job_make_examples_BullX_occigen +++ b/src/job_make_examples_BullX_occigen @@ -18,7 +18,7 @@ set -x # Nom de la machine hostname -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O2 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O2 export MONORUN="Mpirun -prepend-rank -np 1 " export MPIRUN="Mpirun -prepend-rank -np 4 " export POSTRUN="time " diff --git a/src/job_make_examples_CRAY_cca b/src/job_make_examples_CRAY_cca index f114d0752..14292b1bc 100755 --- a/src/job_make_examples_CRAY_cca +++ b/src/job_make_examples_CRAY_cca @@ -28,7 +28,7 @@ cd ${PBS_O_WORKDIR} ARCH=LXifort #ARCH=LXcray -. ../conf/profile_mesonh-${ARCH}I4-MNH-V5-4-0-MPICRAY-O2 +. ../conf/profile_mesonh-${ARCH}-R8I4-MNH-V5-4-0-MPICRAY-O2 export MONORUN="aprun -n 1 " diff --git a/src/job_make_examples_IBM_ada b/src/job_make_examples_IBM_ada index c3b055a84..78c53462d 100755 --- a/src/job_make_examples_IBM_ada +++ b/src/job_make_examples_IBM_ada @@ -19,7 +19,7 @@ cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O2 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O2 # Pour avoir l'echo des commandes set -x diff --git a/src/job_make_examples_IBM_sp6_vargas b/src/job_make_examples_IBM_sp6_vargas index 5d1a72e84..73f5c3de0 100755 --- a/src/job_make_examples_IBM_sp6_vargas +++ b/src/job_make_examples_IBM_sp6_vargas @@ -24,7 +24,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-AIX64-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-AIX64-R8I4-MNH-V5-4-0-MPIAUTO-O2 #001_2Drelief 002_3Drelief 003_KW78 004_Reunion 007_16janvier diff --git a/src/job_make_examples_NEC_SX8 b/src/job_make_examples_NEC_SX8 index f64cf52f4..7f4ab045f 100755 --- a/src/job_make_examples_NEC_SX8 +++ b/src/job_make_examples_NEC_SX8 @@ -18,7 +18,7 @@ hostname [ -d $PBS_O_WORKDIR ] && cd $PBS_O_WORKDIR # -. ../conf/profile_mesonh-SX8I4-MNH-V5-4-0-MPIAUTO-O4 +. ../conf/profile_mesonh-SX8-R8I4-MNH-V5-4-0-MPIAUTO-O4 export MONORUN="Mpirun -np 1 " export MPIRUN="Mpirun -np 2 " diff --git a/src/job_make_examples_SX8 b/src/job_make_examples_SX8 index 0e2278a9e..e373f61ec 100755 --- a/src/job_make_examples_SX8 +++ b/src/job_make_examples_SX8 @@ -19,7 +19,7 @@ hostname [ -d $PBS_O_WORKDIR ] && cd $PBS_O_WORKDIR # -. ../conf/profile_mesonh-SX8I4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-SX8-R8I4-MNH-V5-4-0-MPIAUTO-O2 export MONORUN="Mpirun -np 1 " export MPIRUN="Mpirun -np 2 " diff --git a/src/job_make_examples_cxa b/src/job_make_examples_cxa index 9ffbadb55..dff3d622e 100755 --- a/src/job_make_examples_cxa +++ b/src/job_make_examples_cxa @@ -34,7 +34,7 @@ echo SHELL=$SHELL cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-AIX64I4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-AIX64-R8I4-MNH-V5-4-0-MPIAUTO-O2 ulimit -c 0 # pas de core diff --git a/src/job_make_mesonh_BG b/src/job_make_mesonh_BG index bbdcab851..12102ecb9 100755 --- a/src/job_make_mesonh_BG +++ b/src/job_make_mesonh_BG @@ -18,7 +18,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-BGI4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-BG-R8I4-MNH-V5-4-0-MPIAUTO-O2 #time gmake time gmake -r -j8 diff --git a/src/job_make_mesonh_BGQ b/src/job_make_mesonh_BGQ index 673816492..4da0a621e 100755 --- a/src/job_make_mesonh_BGQ +++ b/src/job_make_mesonh_BGQ @@ -34,7 +34,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-BGQI4-MNH-V5-4-0-MPIAUTO-O2NAN +. ../conf/profile_mesonh-BGQ-R8I4-MNH-V5-4-0-MPIAUTO-O2NAN case $LOADL_STEP_NAME in diff --git a/src/job_make_mesonh_BullX b/src/job_make_mesonh_BullX index dce35637e..7999d5408 100755 --- a/src/job_make_mesonh_BullX +++ b/src/job_make_mesonh_BullX @@ -19,7 +19,7 @@ set -x # On va lancer la compilation dans le répertoire de lancement du job pwd -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O3 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O3 time gmake -j 4 time gmake -j 1 installmaster diff --git a/src/job_make_mesonh_CRAY_cca b/src/job_make_mesonh_CRAY_cca index f713d6d32..582415871 100755 --- a/src/job_make_mesonh_CRAY_cca +++ b/src/job_make_mesonh_CRAY_cca @@ -21,7 +21,7 @@ pwd ARCH=LXifort #ARCH=LXcray -. ../conf/profile_mesonh-${ARCH}I4-MNH-V5-4-0-MPICRAY-O2 +. ../conf/profile_mesonh-${ARCH}-R8I4-MNH-V5-4-0-MPICRAY-O2 time gmake -j 4 2>&1 | tee sortie_compile_${ARCH}.$$ time gmake -j 4 2>&1 | tee sortie_compile_${ARCH}2.$$ diff --git a/src/job_make_mesonh_IBM_ada b/src/job_make_mesonh_IBM_ada index 3bb178192..ec6d92982 100755 --- a/src/job_make_mesonh_IBM_ada +++ b/src/job_make_mesonh_IBM_ada @@ -16,7 +16,7 @@ cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-MPIINTEL-O2 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-MPIINTEL-O2 # Pour avoir l'echo des commandes set -x diff --git a/src/job_make_mesonh_IBM_sp6_vargas b/src/job_make_mesonh_IBM_sp6_vargas index 578a0dd5d..8184defee 100755 --- a/src/job_make_mesonh_IBM_sp6_vargas +++ b/src/job_make_mesonh_IBM_sp6_vargas @@ -24,7 +24,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-AIX64I4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-AIX64-R8I4-MNH-V5-4-0-MPIAUTO-O2 time gmake -j1 gribapi time gmake -r -j8 diff --git a/src/job_make_mesonh_MFSX8 b/src/job_make_mesonh_MFSX8 index 7d218bfa1..b6e1ad525 100644 --- a/src/job_make_mesonh_MFSX8 +++ b/src/job_make_mesonh_MFSX8 @@ -12,7 +12,7 @@ set -x # On va lancer la compilation dans le répertoire de lancement du job [ ${PBS_O_WORKDIR} ] && cd ${PBS_O_WORKDIR} -. ../conf/profile_mesonh-SX8I4-MNH-V5-4-0-MPIAUTO-O4 +. ../conf/profile_mesonh-SX8-R8I4-MNH-V5-4-0-MPIAUTO-O4 time gmake -j 4 ########## compile on four processors to speedup the compilation time gmake -j 1 installmaster diff --git a/src/job_make_mesonh_NEC_SX8 b/src/job_make_mesonh_NEC_SX8 index 92dce58f1..2b014f702 100755 --- a/src/job_make_mesonh_NEC_SX8 +++ b/src/job_make_mesonh_NEC_SX8 @@ -11,7 +11,7 @@ set -x # On va lancer la compilation dans le répertoire de lancement du job [ $PBS_O_WORKDIR ] && cd $PBS_O_WORKDIR -. ../conf/profile_mesonh-SX8I4-MNH-V5-4-0-MPIAUTO-O4 +. ../conf/profile_mesonh-SX8-R8I4-MNH-V5-4-0-MPIAUTO-O4 time gmake -j 4 time gmake -j 4 # some time problem with first pass in parallel compilation diff --git a/src/job_make_mesonh_cxa b/src/job_make_mesonh_cxa index f23c58451..59b98c011 100755 --- a/src/job_make_mesonh_cxa +++ b/src/job_make_mesonh_cxa @@ -27,7 +27,7 @@ set -x cd $LOADL_STEP_INITDIR -. ../conf/profile_mesonh-AIX64I4-MNH-V5-4-0-MPIAUTO-O2 +. ../conf/profile_mesonh-AIX64-R8I4-MNH-V5-4-0-MPIAUTO-O2 time gmake -r -j1 time gmake installmaster diff --git a/src/job_make_mesonh_user_BullX b/src/job_make_mesonh_user_BullX index c029ce2f7..930ed61b4 100755 --- a/src/job_make_mesonh_user_BullX +++ b/src/job_make_mesonh_user_BullX @@ -19,7 +19,7 @@ export VER_USER= ########## Your own USER Directory set -x # On va lancer la compilation dans le répertoire de lancement du job -. ../conf/profile_mesonh-LXifortI4-MNH-V5-4-0-${VER_USER}-MPIINTEL-O3 +. ../conf/profile_mesonh-LXifort-R8I4-MNH-V5-4-0-${VER_USER}-MPIINTEL-O3 time gmake user time gmake -j 1 installuser diff --git a/src/job_make_mesonh_user_MFSX8 b/src/job_make_mesonh_user_MFSX8 index 00186c347..f32971227 100644 --- a/src/job_make_mesonh_user_MFSX8 +++ b/src/job_make_mesonh_user_MFSX8 @@ -14,7 +14,7 @@ set -x [ ${PBS_O_WORKDIR} ] && cd ${PBS_O_WORKDIR} -. ../conf/profile_mesonh-SX8I4-MNH-V5-4-0-${VER_USER}-MPIAUTO-O4 +. ../conf/profile_mesonh-SX8-R8I4-MNH-V5-4-0-${VER_USER}-MPIAUTO-O4 time gmake user time gmake -j 1 installuser -- GitLab