Skip to content

Commit

Permalink
Merge branch 'azamat/machines/add-improv' into next (PR #6205)
Browse files Browse the repository at this point in the history
Add ANL Improv to E3SM machines.

Also, disable slow archiving of old tests on all LCRC machines.

[BFB]
  • Loading branch information
amametjanov committed Mar 8, 2024
2 parents eb2c1d6 + 52b88bb commit 739807d
Show file tree
Hide file tree
Showing 7 changed files with 148 additions and 8 deletions.
28 changes: 28 additions & 0 deletions cime_config/allactive/config_pesall.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1379,6 +1379,34 @@
</nthrds>
</pes>
</mach>
<mach name="improv">
<pes compset="any" pesize="any">
<comment>improv: any compset on ne30np4 grid</comment>
<ntasks>
<ntasks_atm>-4</ntasks_atm>
<ntasks_lnd>-4</ntasks_lnd>
<ntasks_rof>-4</ntasks_rof>
<ntasks_ice>-4</ntasks_ice>
<ntasks_ocn>-4</ntasks_ocn>
<ntasks_cpl>-4</ntasks_cpl>
<ntasks_glc>-4</ntasks_glc>
<ntasks_wav>-4</ntasks_wav>
</ntasks>
</pes>
<pes compset=".*EAM.+ELM.+MPASSI.+SGLC.+SWAV.+BGC.*" pesize="any">
<comment>improv: BGC compset on ne30np4 grid</comment>
<ntasks>
<ntasks_atm>-8</ntasks_atm>
<ntasks_lnd>-8</ntasks_lnd>
<ntasks_rof>-8</ntasks_rof>
<ntasks_ice>-8</ntasks_ice>
<ntasks_ocn>-8</ntasks_ocn>
<ntasks_cpl>-8</ntasks_cpl>
<ntasks_glc>-8</ntasks_glc>
<ntasks_wav>-8</ntasks_wav>
</ntasks>
</pes>
</mach>
</grid>
<grid name="a%ne30np4.pg2_l%.+_oi%oEC60to30v3">
<mach name="compy">
Expand Down
4 changes: 3 additions & 1 deletion cime_config/machines/Depends.oneapi-ifx.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

# compile mpas_seaice_core_interface.f90 with ifort, not ifx
e3sm_add_flags("${CMAKE_BINARY_DIR}/core_seaice/model_forward/mpas_seaice_core_interface.f90" "-fc=ifort")
if (NOT MPILIB STREQUAL "openmpi")
e3sm_add_flags("${CMAKE_BINARY_DIR}/core_seaice/model_forward/mpas_seaice_core_interface.f90" "-fc=ifort")
endif()
8 changes: 8 additions & 0 deletions cime_config/machines/cmake_macros/gnu_improv.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CMAKE_C_FLAGS_RELEASE " -O2")
string(APPEND CMAKE_Fortran_FLAGS_RELEASE " -O2")
set(PIO_FILESYSTEM_HINTS "gpfs")
string(APPEND SLIBS " /lcrc/group/e3sm/soft/improv/netlib-lapack/3.12.0/gcc-12.3.0/liblapack.a /lcrc/group/e3sm/soft/improv/netlib-lapack/3.12.0/gcc-12.3.0/libblas.a")

10 changes: 10 additions & 0 deletions cime_config/machines/config_batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,16 @@
</queues>
</batch_system>

<batch_system MACH="improv" type="pbspro">
<directives>
<directive> -l select={{ num_nodes }}:mpiprocs={{ tasks_per_node }} </directive>
</directives>
<queues>
<queue walltimemax="00:30:00" jobmin="1" jobmax="8" strict="true" default="true">debug</queue>
<queue walltimemax="00:30:00" jobmin="9" jobmax="737" strict="true">compute</queue>
</queues>
</batch_system>

<batch_system MACH="miller" type="miller_slurm">
<queues>
<queue walltimemax="06:00:00" nodemax="800" default="true">collaboration</queue>
Expand Down
68 changes: 65 additions & 3 deletions cime_config/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2616,7 +2616,7 @@
<EXEROOT>$CIME_OUTPUT_ROOT/$CASE/bld</EXEROOT>
<TEST_TPUT_TOLERANCE>0.05</TEST_TPUT_TOLERANCE>
<TEST_MEMLEAK_TOLERANCE>0.05</TEST_MEMLEAK_TOLERANCE>
<MAX_GB_OLD_TEST_DATA>1000</MAX_GB_OLD_TEST_DATA>
<MAX_GB_OLD_TEST_DATA>0</MAX_GB_OLD_TEST_DATA>
<environment_variables>
<env name="PERL5LIB">/lcrc/group/e3sm/soft/perl/chrys/lib/perl5</env>
<env name="NETCDF_C_PATH">$SHELL{dirname $(dirname $(which nc-config))}</env>
Expand Down Expand Up @@ -2698,7 +2698,7 @@
<RUNDIR>$CIME_OUTPUT_ROOT/$CASE/run</RUNDIR>
<EXEROOT>$CIME_OUTPUT_ROOT/$CASE/bld</EXEROOT>
<TEST_TPUT_TOLERANCE>0.1</TEST_TPUT_TOLERANCE>
<MAX_GB_OLD_TEST_DATA>1000</MAX_GB_OLD_TEST_DATA>
<MAX_GB_OLD_TEST_DATA>0</MAX_GB_OLD_TEST_DATA>
<environment_variables>
<env name="NETCDF_C_PATH">$SHELL{dirname $(dirname $(which nc-config))}</env>
<env name="NETCDF_FORTRAN_PATH">$SHELL{dirname $(dirname $(which nf-config))}</env>
Expand Down Expand Up @@ -2777,7 +2777,7 @@
<RUNDIR>$CIME_OUTPUT_ROOT/$CASE/run</RUNDIR>
<EXEROOT>$CIME_OUTPUT_ROOT/$CASE/bld</EXEROOT>
<TEST_TPUT_TOLERANCE>0.1</TEST_TPUT_TOLERANCE>
<MAX_GB_OLD_TEST_DATA>1000</MAX_GB_OLD_TEST_DATA>
<MAX_GB_OLD_TEST_DATA>0</MAX_GB_OLD_TEST_DATA>
<environment_variables>
<env name="NETCDF_C_PATH">$SHELL{dirname $(dirname $(which nc-config))}</env>
<env name="NETCDF_FORTRAN_PATH">$SHELL{dirname $(dirname $(which nf-config))}</env>
Expand Down Expand Up @@ -2897,6 +2897,68 @@
</environment_variables>
</machine>

<machine MACH="improv">
<DESC>ANL LCRC cluster 825-node AMD 7713 2-sockets 128-cores per node</DESC>
<NODENAME_REGEX>ilogin(1|2|3|4).lcrc.anl.gov</NODENAME_REGEX>
<OS>LINUX</OS>
<COMPILERS>gnu</COMPILERS>
<MPILIBS>openmpi</MPILIBS>
<PROJECT>e3sm</PROJECT>
<CIME_OUTPUT_ROOT>/lcrc/group/e3sm/$USER/scratch/improv</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/lcrc/group/e3sm/data/inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/lcrc/group/e3sm/data/inputdata/atm/datm7</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/lcrc/group/e3sm/$USER/scratch/improv/archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/lcrc/group/e3sm/baselines/improv/$COMPILER</BASELINE_ROOT>
<CCSM_CPRNC>/lcrc/group/e3sm/tools/cprnc/cprnc.improv</CCSM_CPRNC>
<GMAKE_J>8</GMAKE_J>
<TESTS>e3sm_integration</TESTS>
<NTEST_PARALLEL_JOBS>8</NTEST_PARALLEL_JOBS>
<BATCH_SYSTEM>pbspro</BATCH_SYSTEM>
<SUPPORTED_BY>E3SM</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>128</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>128</MAX_MPITASKS_PER_NODE>
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
<mpirun mpilib="openmpi">
<executable>mpirun</executable>
<arguments>
<arg name="num_tasks">--tag-output -n {{ total_tasks }}</arg>
<arg name="tasks_per_node"> --map-by ppr:1:core:PE=$ENV{OMP_NUM_THREADS} --bind-to core --oversubscribe </arg>
</arguments>
</mpirun>
<module_system type="module">
<init_path lang="sh">/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/gcc-9.3.0/lmod-8.3-5be73rg/lmod/lmod/init/sh</init_path>
<init_path lang="csh">/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/gcc-9.3.0/lmod-8.3-5be73rg/lmod/lmod/init/csh</init_path>
<init_path lang="python">/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/gcc-9.3.0/lmod-8.3-5be73rg/lmod/lmod/init/env_modules_python.py</init_path>
<cmd_path lang="python">/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/gcc-9.3.0/lmod-8.3-5be73rg/lmod/lmod/libexec/lmod python</cmd_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
<modules>
<command name="purge"/>
<command name="load">cmake/3.27.4</command>
</modules>
<modules compiler="gnu">
<command name="load">gcc/12.3.0</command>
</modules>
</module_system>
<RUNDIR>$CIME_OUTPUT_ROOT/$CASE/run</RUNDIR>
<EXEROOT>$CIME_OUTPUT_ROOT/$CASE/bld</EXEROOT>
<TEST_TPUT_TOLERANCE>0.05</TEST_TPUT_TOLERANCE>
<MAX_GB_OLD_TEST_DATA>0</MAX_GB_OLD_TEST_DATA>
<environment_variables compiler="gnu" mpilib="openmpi">
<env name="NETCDF_C_PATH">/lcrc/group/e3sm/soft/improv/netcdf-c/4.9.2b/gcc-12.3.0/openmpi-4.1.6</env>
<env name="NETCDF_FORTRAN_PATH">/lcrc/group/e3sm/soft/improv/netcdf-fortran/4.6.1b/gcc-12.3.0/openmpi-4.1.6</env>
<env name="PNETCDF_PATH">/lcrc/group/e3sm/soft/improv/pnetcdf/1.12.3/gcc-12.3.0/openmpi-4.1.6</env>
<env name="PATH">/lcrc/group/e3sm/soft/improv/pnetcdf/1.12.3/gcc-12.3.0/openmpi-4.1.6/bin:/lcrc/group/e3sm/soft/improv/netcdf-fortran/4.6.1b/gcc-12.3.0/openmpi-4.1.6/bin:/lcrc/group/e3sm/soft/improv/netcdf-c/4.9.2b/gcc-12.3.0/openmpi-4.1.6/bin:/lcrc/group/e3sm/soft/improv/openmpi/4.1.6/gcc-12.3.0/bin:/lcrc/group/e3sm/soft/perl/improv/bin:$ENV{PATH}</env>
<env name="LD_LIBRARY_PATH">$SHELL{lp=/lcrc/group/e3sm/soft/improv/netlib-lapack/3.12.0/gcc-12.3.0:/lcrc/group/e3sm/soft/improv/pnetcdf/1.12.3/gcc-12.3.0/openmpi-4.1.6/lib:/lcrc/group/e3sm/soft/improv/netcdf-fortran/4.6.1b/gcc-12.3.0/openmpi-4.1.6/lib:/lcrc/group/e3sm/soft/improv/netcdf-c/4.9.2b/gcc-12.3.0/openmpi-4.1.6/lib:/opt/pbs/lib:/lcrc/group/e3sm/soft/improv/openmpi/4.1.6/gcc-12.3.0/lib; if [ -z "$LD_LIBRARY_PATH" ]; then echo $lp; else echo "$lp:$LD_LIBRARY_PATH"; fi}</env>
</environment_variables>
<environment_variables BUILD_THREADED="TRUE">
<env name="OMP_STACKSIZE">128M</env>
</environment_variables>
<environment_variables BUILD_THREADED="TRUE" compiler="gnu">
<env name="OMP_PLACES">cores</env>
</environment_variables>
</machine>

<machine MACH="lassen">
<DESC>LLNL Linux Cluster, Linux, 4 V100 GPUs/node, 44 IBM P9 cpu cores/node</DESC>
<NODENAME_REGEX>lassen.*</NODENAME_REGEX>
Expand Down
30 changes: 30 additions & 0 deletions components/eam/cime_config/config_pes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,21 @@
</nthrds>
</pes>
</mach>
<mach name="improv">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+SGLC_SWAV_SIAC_SESP_BGC.*" pesize="any">
<comment>improv pelayout for tri-grid BGC tests with EAM+DOCN </comment>
<ntasks>
<ntasks_atm>-4</ntasks_atm>
<ntasks_cpl>-4</ntasks_cpl>
<ntasks_lnd>-4</ntasks_lnd>
<ntasks_rof>-4</ntasks_rof>
<ntasks_ocn>-4</ntasks_ocn>
<ntasks_ice>-4</ntasks_ice>
<ntasks_glc>-4</ntasks_glc>
<ntasks_wav>-4</ntasks_wav>
</ntasks>
</pes>
</mach>
</grid>
<grid name="a%ne30np4.pg2_l%.+_oi%oEC60to30v3">
<mach name="anvil">
Expand Down Expand Up @@ -1093,6 +1108,21 @@
</ntasks>
</pes>
</mach>
<mach name="improv">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+MOSART.+" pesize="M">
<comment>--res conusx4v1_r05_oECv3 --compset F2010 </comment>
<ntasks>
<ntasks_atm>-4</ntasks_atm>
<ntasks_cpl>-4</ntasks_cpl>
<ntasks_lnd>-4</ntasks_lnd>
<ntasks_rof>-4</ntasks_rof>
<ntasks_ocn>-4</ntasks_ocn>
<ntasks_ice>-4</ntasks_ice>
<ntasks_glc>-4</ntasks_glc>
<ntasks_wav>-4</ntasks_wav>
</ntasks>
</pes>
</mach>
<mach name="summit|ascent|pm-gpu|muller-gpu">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+MOSART.+" pesize="M">
<comment>--res conusx4v1_r05_oECv3 --compset F2010 </comment>
Expand Down
8 changes: 4 additions & 4 deletions components/elm/cime_config/config_pes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -218,9 +218,9 @@
</ntasks>
</pes>
</mach>
<mach name="ascent|summit">
<mach name="ascent|summit|improv">
<pes compset="any" pesize="any">
<comment>elm: ascent|summit PEs for grid l%1.9x2.5|l%0.9x1.25|l%360x720cru</comment>
<comment>elm: ascent|summit|improv PEs for grid l%1.9x2.5|l%0.9x1.25|l%360x720cru</comment>
<ntasks>
<ntasks_atm>-2</ntasks_atm>
<ntasks_lnd>-2</ntasks_lnd>
Expand Down Expand Up @@ -509,9 +509,9 @@
</ntasks>
</pes>
</mach>
<mach name="ascent|summit">
<mach name="ascent|summit|improv">
<pes compset="any" pesize="any">
<comment>elm: ascent|summit PEs for grid l%r05_*r%r05</comment>
<comment>elm: ascent|summit|improv PEs for grid l%r05_*r%r05</comment>
<ntasks>
<ntasks_atm>-2</ntasks_atm>
<ntasks_lnd>-2</ntasks_lnd>
Expand Down

0 comments on commit 739807d

Please sign in to comment.