Skip to content

Commit

Permalink
Merge branch 'singhbalwinder/cime/compy-mach-files' (PR #2854)
Browse files Browse the repository at this point in the history
Adds machine files for Compy

This PR adds first set of machine files for E3SM machine Compy. Machine
files for compilers Intel, gnu and PGI are added. I have used the
following test to compile and run the model:

SMS.ne4_ne4.FC5AV1C-L

For the above test:
-Intel compiler works fine
-GNU 4.8.5: Land model has a compile time error
-PGI: Netcdf is not built using this compiler yet

[BFB]
  • Loading branch information
bibiraju committed Apr 17, 2019
2 parents e7b2dca + 37f5ebc commit 4a3b2fe
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 0 deletions.
10 changes: 10 additions & 0 deletions config/e3sm/machines/config_batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,16 @@
</queues>
</batch_system>

<batch_system MACH="compy" type="slurm">
<directives>
<directive>--output=slurm.out</directive>
<directive>--error=slurm.err</directive>
</directives>
<queues>
<queue walltimemax="00:59:00" default="true">slurm</queue>
</queues>
</batch_system>

<batch_system MACH="sooty" type="slurm" >
<directives>
<directive>--ntasks-per-node={{ tasks_per_node }}</directive>
Expand Down
44 changes: 44 additions & 0 deletions config/e3sm/machines/config_compilers.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,50 @@ for mct, etc.
</SLIBS>
</compiler>

<compiler MACH="compy" COMPILER="intel">
<CFLAGS>
<append DEBUG="FALSE"> -O2 </append>
</CFLAGS>
<CONFIG_ARGS>
<base> --host=Linux </base>
</CONFIG_ARGS>
<CPPDEFS>
<append> -DLINUX </append>
</CPPDEFS>
<FFLAGS>
<append DEBUG="FALSE"> -O2 </append>
<append DEBUG="TRUE"> -g -traceback -O0 -fpe0 -check all -check noarg_temp_created -ftrapuv -init=snan</append>
</FFLAGS>
<NETCDF_PATH>$ENV{NETCDF_HOME}</NETCDF_PATH>
<PNETCDF_PATH>$ENV{PNETCDF_HOME}</PNETCDF_PATH>
<PIO_FILESYSTEM_HINTS>lustre</PIO_FILESYSTEM_HINTS>
<SLIBS>
<base> -lpmi -L$NETCDF_PATH/lib -lnetcdf -lnetcdff -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt $ENV{PNETCDF_LIBRARIES}</base>
</SLIBS>
</compiler>

<compiler MACH="compy" COMPILER="pgi">
<CFLAGS>
<append DEBUG="FALSE"> -O2 </append>
</CFLAGS>
<CONFIG_ARGS>
<base> --host=Linux </base>
</CONFIG_ARGS>
<CPPDEFS>
<append> -DLINUX </append>
</CPPDEFS>
<FFLAGS>
<append DEBUG="FALSE"> -O2 </append>
<append DEBUG="TRUE">-C -Mbounds -traceback -Mchkfpstk -Mchkstk -Mdalign -Mdepchk -Mextend -Miomutex -Mrecursive -Ktrap=fp -O0 -g -byteswapio -Meh_frame</append>
</FFLAGS>
<NETCDF_PATH> $ENV{NETCDF_HOME}</NETCDF_PATH>
<PIO_FILESYSTEM_HINTS>lustre</PIO_FILESYSTEM_HINTS>
<PNETCDF_PATH>$ENV{PNETCDF_HOME}</PNETCDF_PATH>
<LDFLAGS>
<append> -lpmi -L$NETCDF_PATH/lib -lnetcdf -lnetcdff -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt $ENV{PNETCDF_LIBRARIES} </append>
</LDFLAGS>
</compiler>

<compiler MACH="cori-haswell" COMPILER="intel">
<CONFIG_ARGS>
<base> --host=Linux </base>
Expand Down
67 changes: 67 additions & 0 deletions config/e3sm/machines/config_machines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1974,6 +1974,73 @@
</environment_variables>
</machine>

<machine MACH="compy">
<DESC>PNL E3SM Intel Xeon Gold 6148(Skylake) nodes, OS is Linux, SLURM</DESC>
<NODENAME_REGEX>compy</NODENAME_REGEX>
<OS>LINUX</OS>
<COMPILERS>intel,pgi</COMPILERS>
<MPILIBS>mvapich2</MPILIBS>
<CIME_OUTPUT_ROOT>/compyfs/$USER/e3sm_scratch</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/compyfs/inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/compyfs/inputdata/atm/datm7</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>/compyfs/$USER/e3sm_scratch/archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>/compyfs/e3sm_baselines/$COMPILER</BASELINE_ROOT>
<CCSM_CPRNC>/compyfs/e3sm_baselines/cprnc/cprnc</CCSM_CPRNC>
<GMAKE_J>8</GMAKE_J>
<BATCH_SYSTEM>slurm</BATCH_SYSTEM>
<SUPPORTED_BY>bibi.mathew -at- pnnl.gov</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>40</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>40</MAX_MPITASKS_PER_NODE>
<PROJECT_REQUIRED>TRUE</PROJECT_REQUIRED>
<mpirun mpilib="mpi-serial">
<executable/>
</mpirun>
<mpirun mpilib="mvapich2">
<executable>srun</executable>
<arguments>
<arg name="mpi">--mpi=none</arg>
<arg name="num_tasks">--ntasks={{ total_tasks }}</arg>
<arg name="cpu_bind">--cpu_bind=sockets --cpu_bind=verbose</arg>
<arg name="kill-on-bad-exit">--kill-on-bad-exit</arg>
</arguments>
</mpirun>
<module_system type="module">
<init_path lang="perl">/share/apps/modules/init/perl.pm</init_path>
<init_path lang="python">/share/apps/modules/init/python.py</init_path>
<init_path lang="csh">/etc/profile.d/modules.csh</init_path>
<init_path lang="sh">/etc/profile.d/modules.sh</init_path>
<cmd_path lang="perl"> /share/apps/modules/bin/modulecmd perl</cmd_path>
<cmd_path lang="python">/share/apps/modules/bin/modulecmd python</cmd_path>
<cmd_path lang="sh">module</cmd_path>
<cmd_path lang="csh">module</cmd_path>
<modules>
<command name="purge"/>
</modules>
<modules compiler="intel">
<command name="load">intel/19.0.3</command>
</modules>
<modules compiler="pgi">
<command name="load">pgi/18.10</command>
</modules>
<modules mpilib="mvapich2">
<command name="load">mvapich2/2.3.1</command>
</modules>
<modules>
<command name="load">netcdf/4.6.3</command>
<command name="load">pnetcdf/1.9.0</command>
<command name="load">mkl/2019u3</command>
</modules>
</module_system>
<RUNDIR>$CIME_OUTPUT_ROOT/$CASE/run</RUNDIR>
<EXEROOT>$CIME_OUTPUT_ROOT/$CASE/bld</EXEROOT>
<environment_variables>
<env name="OMP_STACKSIZE">64M</env>
<env name="NETCDF_HOME">$ENV{NETCDF_ROOT}/</env>
</environment_variables>
<environment_variables>
<env name="MKL_PATH">$ENV{MKLROOT}</env>
</environment_variables>
</machine>

<machine MACH="oic5">
<DESC>ORNL XK6, os is Linux, 32 pes/node, batch system is PBS</DESC>
Expand Down

0 comments on commit 4a3b2fe

Please sign in to comment.