From 170e2db1f50dc986650d5afc5cff6b9789df34e7 Mon Sep 17 00:00:00 2001 From: Juan ESCOBAR <juan.escobar@aero.obs-mip.fr> Date: Fri, 26 Aug 2022 15:02:19 +0000 Subject: [PATCH] Juan 26/08/2022:Rules.LXcray.mk, set CPP to use mnh_expand+LOOP+OPENACC , use OBJS_LST for source needing openacc report --- src/Rules.LXcray.mk | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/Rules.LXcray.mk b/src/Rules.LXcray.mk index 4f3ec47b9..cd2b52045 100644 --- a/src/Rules.LXcray.mk +++ b/src/Rules.LXcray.mk @@ -11,8 +11,8 @@ # OPT_BASE = -hpic -emf -h acc_model=auto_async_none:no_fast_addr:no_deep_copy OPT_PERF0 = -O0 -g -OPT_PERF1 = -O1 -hflex_mp=intolerant -Ofp0 -hnoomp -K trap=fp -OPT_PERF2 = -O2 -hflex_mp=intolerant -Ofp0 -hnoomp +OPT_PERF1 = -O1 -hflex_mp=intolerant -Ofp0 -hnofma -hnoomp -K trap=fp +OPT_PERF2 = -O2 -hflex_mp=intolerant -Ofp0 -hnofma -hnoomp # OPT_NOOPENACC = -hnoacc OPT_OPENACC = -hacc @@ -72,7 +72,7 @@ MNH_BITREP_OMP=YES CPPFLAGS += -DMNH_OPENACC -D_FAKEOPENACC OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_NOOPENACC) OPT0 = $(OPT_BASE) $(OPT_PERF0) $(OPT_NOOPENACC) -OPT_NOCB = $(OPT_BASE) $(OPT_PERF2) $(OPT_NOOPENACC) +OPT_NOCB = $(OPT_BASE) $(OPT_PERF2) $(OPT_NOOPENACC) #CXXFLAGS = -Kieee -Mnofma $(OPT_NOOPENACC) #OBJS_REPROD= spll_mode_sum_ll.o #$(OBJS_REPROD) : OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_NOOPENACC) -Mvect=nosimd -Minfo=all -g @@ -129,8 +129,8 @@ LDFLAGS = -Wl,-warn-once $(PAR) $(OPT_BASE) # # preprocessing flags # -#CPP = /bin/cpp -P -traditional -Wcomment -CPP = cpp -P -Wcomment -traditional -D_OPENACC=201306 +#CPP = cpp -P -Wcomment -traditional -D_OPENACC=201306 +CPP = mnh_expand -D_OPENACC=201306 # CPPFLAGS_C = -DLITTLE_endian CPPFLAGS_SURFEX = @@ -138,6 +138,7 @@ CPPFLAGS_SURCOUCHE += -DDEV_NULL -DMNH_COMPILER_CCE CPPFLAGS_RAD = CPPFLAGS_NEWLFI = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT} CPPFLAGS_MNH = -DMNH -DSFX_MNH -DMNH_NO_MPI_LOGICAL48 -DMNH_COMPILER_CCE +CPPFLAGS_MNH += -DMNH_EXPAND -DMNH_EXPAND_LOOP -DMNH_EXPAND_OPENACC CPPFLAGS_MNH += -imacros MNH_OPENACC_NV_CR.CPP ifdef VER_GA CPPFLAGS_SURCOUCHE += -DMNH_GA @@ -164,6 +165,15 @@ OBJS_LISTE_MASTER += br_transcendentals.o LIBS += -lstdc++ %.o : %.cpp $(CXX) $(INC) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $(OBJDIR)/$(*F).o +# +# Add gu.c , for Zero Floating Point Graduate UnderFlow on CPU & GPU +# +DIR_MASTER += ARCH_SRC/cray_gu +VPATH += ARCH_SRC/cray_gu +OBJS_LISTE_MASTER += gu.o +gu.o : CC=gcc +gu.o : INC= +gu.o : CPPFLAGS_C= endif # # LIBTOOLS flags @@ -234,3 +244,27 @@ OBJS_I4=spll_modd_netcdf.o $(OBJS_I4) : OPT = $(OPT_BASE_I4) endif +OBJS_LST = spll_condensation.o spll_turb_ver_thermo_flux.o spll_rotate_wind.o spll_mode_mnh_zwork.o spll_contrav_device.o \ + spll_advection_metsv.o \ + spll_mym_device.o spll_myf_device.o spll_dyf_device.o \ + spll_gx_m_u_device.o spll_gy_m_v_device.o \ + spll_gravity.o spll_gravity_impl.o \ + spll_advection_uvw.o spll_resolved_cloud.o spll_mode_tools.o spll_mode_rain_ice_sedimentation_split.o spll_ice_adjust.o \ + spll_countjv1d_device.o spll_countjv2d_device.o spll_countjv3d_device.o \ + spll_mode_turb.o spll_phys_param_n.o spll_model_n.o spll_tridiag_tke.o \ + spll_turb_ver_thermo_corr.o spll_tke_eps_sources.o spll_turb_ver_dyn_flux.o \ + spll_turb_hor_uv.o spll_turb_hor_uw.o spll_turb_hor_vw.o \ + spll_turb_hor_dyn_corr.o spll_turb_hor_thermo_flux.o \ + spll_pressurez.o spll_p_abs.o spll_zsolver.o spll_zsolver_inv.o spll_dotprod.o \ + spll_communication.o spll_discretisation.o spll_multigrid.o spll_datatypes.o \ + spll_get_halo_start_d.o spll_get_halo_stop_d.o spll_mass_leak.o \ + spll_ppm_01_x.o spll_ppm_01_y.o spll_ppm_01_z.o \ + spll_ppm_s0_x.o spll_ppm_s0_y.o spll_ppm_s0_z.o \ + spll_mode_rain_ice_slow.o spll_mode_rain_ice_fast_rs.o \ + spll_prandtl.o spll_mode_rain_ice_fast_rg.o spll_mode_rain_ice_fast_ri.o \ + spll_mode_rain_ice.o spll_mode_rain_warm.o \ + spll_rotate_wind.o spll_ground_param_n.o spll_advec_ppm_algo.o \ + spll_turb_hor_sv_corr.o + +$(OBJS_LST) : OPT += -rdimo + -- GitLab