From 601de2c5d7fa2c35cc4ef7396e8f7338b587e6ba Mon Sep 17 00:00:00 2001 From: Paul Leopardi Date: Fri, 20 Dec 2019 11:32:02 +1100 Subject: [PATCH 1/3] Document reproducibility flags --- util/make_dir/config.nci | 8 ++++---- util/make_dir/make.nci | 20 ++++++++++++-------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/util/make_dir/config.nci b/util/make_dir/config.nci index 80175120..91a694bf 100644 --- a/util/make_dir/config.nci +++ b/util/make_dir/config.nci @@ -1,5 +1,5 @@ module purge -module load intel-fc/17.0.1.132 -module load intel-cc/17.0.1.132 -module load netcdf/4.3.2 -module load openmpi/1.10.2 +module load intel-compiler/2019.5.281 +module load netcdf/4.7.1 +module load openmpi/4.0.1 + diff --git a/util/make_dir/make.nci b/util/make_dir/make.nci index ba5a2904..08989d7b 100644 --- a/util/make_dir/make.nci +++ b/util/make_dir/make.nci @@ -1,4 +1,3 @@ - # COUPLE=$(OASIS_HOME) ARCHDIR=$(COUPLE)/Linux @@ -26,15 +25,19 @@ ARFLAGS = -ruv # -g is necessary in F90FLAGS and LDFLAGS for pgf90 versions lower than 6.1 # For compiling in double precision, put -r8 # For compiling in single precision, remove -r8 and add -Duse_realtype_single +NCI_INTEL_FLAGS = -r8 -i4 -traceback -fpe0 -convert big_endian -fno-alias -ip -check noarg_temp_created +NCI_REPRO_FLAGS = -fp-model precise -fp-model source -align all ifeq ($(DEBUG), yes) - F90FLAGS_1 = -convert big_endian -i4 -r8 -traceback -O -debug all -g -check all -fpe0 -CB -fno-alias -ip -align all -assume nobuffered_io -check noarg_temp_created - CPPDEF = -Duse_netCDF -Duse_comm_$(CHAN) -DTREAT_OVERLAY -DDEBUG -D__VERBOSE - MCT_FCFLAGS = -O0 -debug all -g -check all -fpe0 -xHost -ip -align all + NCI_DEBUG_FLAGS = -g3 -O0 -debug all -check all + F90FLAGS_1 = $(NCI_INTEL_FLAGS) $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) -CB -no-vec -assume nobuffered_io + CPPDEF = -Duse_netCDF -Duse_comm_$(CHAN) -DTREAT_OVERLAY -DDEBUG -D__VERBOSE + MCT_FCFLAGS = $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) -ip -fpe0 -xHost else - F90FLAGS_1 = -convert big_endian -i4 -r8 -O3 -g -traceback -fno-alias -ip -align all -fpe0 -assume buffered_io -check noarg_temp_created - CPPDEF = -Duse_netCDF -Duse_comm_$(CHAN) -DTREAT_OVERLAY - MCT_FCFLAGS = -O3 -xHost -ip -align all -endif + NCI_OPTIM_FLAGS = -g3 -O2 -axCORE-AVX2 -debug all -check none -qopt-report=5 -qopt-report-annotate -assume buffered_io + F90FLAGS_1 = $(NCI_INTEL_FLAGS) $(NCI_REPRO_FLAGS) $(NCI_OPTIM_FLAGS) + CPPDEF = -Duse_netCDF -Duse_comm_$(CHAN) -DTREAT_OVERLAY + MCT_FCFLAGS = $(NCI_REPRO_FLAGS) $(NCI_OPTIM_FLAGS) -ip +endif f90FLAGS_1 = $(F90FLAGS_1) FFLAGS_1 = $(F90FLAGS_1) fFLAGS_1 = $(F90FLAGS_1) @@ -61,3 +64,4 @@ fFLAGS = $(fFLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE) CCFLAGS = $(CCFLAGS_1) $(INCPSMILE) $(CPPDEF) -I$(NETCDF_INCLUDE) # ############################################################################# + From 861be6da137f80498cf2376fb00e66d1cd43fe48 Mon Sep 17 00:00:00 2001 From: Paul Leopardi Date: Wed, 15 Jan 2020 15:08:33 +1100 Subject: [PATCH 2/3] Revert change to incorrect config file --- util/make_dir/config.nci | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/util/make_dir/config.nci b/util/make_dir/config.nci index 91a694bf..80175120 100644 --- a/util/make_dir/config.nci +++ b/util/make_dir/config.nci @@ -1,5 +1,5 @@ module purge -module load intel-compiler/2019.5.281 -module load netcdf/4.7.1 -module load openmpi/4.0.1 - +module load intel-fc/17.0.1.132 +module load intel-cc/17.0.1.132 +module load netcdf/4.3.2 +module load openmpi/1.10.2 From a8e4f9bfd550518618c36f286ea34e6eeb07bc85 Mon Sep 17 00:00:00 2001 From: Paul Leopardi Date: Wed, 15 Jan 2020 15:11:00 +1100 Subject: [PATCH 3/3] Remove -xHost from flags in DEBUG='yes' case --- util/make_dir/make.nci | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util/make_dir/make.nci b/util/make_dir/make.nci index 08989d7b..0ff1f232 100644 --- a/util/make_dir/make.nci +++ b/util/make_dir/make.nci @@ -28,10 +28,10 @@ ARFLAGS = -ruv NCI_INTEL_FLAGS = -r8 -i4 -traceback -fpe0 -convert big_endian -fno-alias -ip -check noarg_temp_created NCI_REPRO_FLAGS = -fp-model precise -fp-model source -align all ifeq ($(DEBUG), yes) - NCI_DEBUG_FLAGS = -g3 -O0 -debug all -check all - F90FLAGS_1 = $(NCI_INTEL_FLAGS) $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) -CB -no-vec -assume nobuffered_io + NCI_DEBUG_FLAGS = -g3 -O0 -fpe0 -no-vec -debug all -check all -no-vec -assume nobuffered_io + F90FLAGS_1 = $(NCI_INTEL_FLAGS) $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) CPPDEF = -Duse_netCDF -Duse_comm_$(CHAN) -DTREAT_OVERLAY -DDEBUG -D__VERBOSE - MCT_FCFLAGS = $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) -ip -fpe0 -xHost + MCT_FCFLAGS = $(NCI_REPRO_FLAGS) $(NCI_DEBUG_FLAGS) -ip else NCI_OPTIM_FLAGS = -g3 -O2 -axCORE-AVX2 -debug all -check none -qopt-report=5 -qopt-report-annotate -assume buffered_io F90FLAGS_1 = $(NCI_INTEL_FLAGS) $(NCI_REPRO_FLAGS) $(NCI_OPTIM_FLAGS)