Skip to content

Commit

Permalink
Add frontier as a supported machine
Browse files Browse the repository at this point in the history
  • Loading branch information
xylar committed Jul 18, 2023
1 parent cb544aa commit 94313d2
Show file tree
Hide file tree
Showing 4 changed files with 277 additions and 0 deletions.
57 changes: 57 additions & 0 deletions mache/machines/frontier.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Options related to deploying an e3sm-unified conda environment on supported
# machines
[e3sm_unified]

# the unix group for permissions for the e3sm-unified conda environment
group = cli115

# the compiler set to use for system libraries and MPAS builds
compiler = gnu

# the system MPI library to use for intel18 compiler
mpi = mpich

# the path to the directory where activation scripts, the base environment, and
# system libraries will be deployed
base_path = /lustre/orion/cli115/world-shared/software/e3sm-unified

# whether to use system modules for hdf5, netcdf-c, netcdf-fortran and pnetcdf
# (spack modules are used otherwise)
use_system_hdf5_netcdf = True


# config options related to data needed by diagnostics software such as
# e3sm_diags and MPAS-Analysis
[diagnostics]

# The base path to the diagnostics directory
base_path = /lustre/orion/cli115/world-shared/diagnostics

# the unix group for permissions for diagnostics
group = cli115


# The parallel section describes options related to running jobs in parallel
[parallel]

# parallel system of execution: slurm, cobalt or single_node
system = slurm

# whether to use mpirun or srun to run a task
parallel_executable = srun

# cores per node on the machine
cores_per_node = 56

# account for running diagnostics jobs
account = cli115

# available partition(s) (default is the first)
partitions = batch


# config options related to synchronizing files
[sync]

# the full hostname of the machine
hostname = frontier.olcf.ornl.gov
19 changes: 19 additions & 0 deletions mache/spack/frontier_gnu_mpich.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module reset >& /dev/null
module switch PrgEnv-cray PrgEnv-gnu/8.3.3 >& /dev/null
module switch gcc gcc/11.2.0 >& /dev/null

{% if e3sm_lapack %}
module load cray-libsci/22.12.1.1
{% endif %}
{% if e3sm_hdf5_netcdf %}
module load cray-hdf5-parallel/1.12.2.1
module load cray-netcdf-hdf5parallel/4.9.0.1
module load cray-parallel-netcdf/1.12.3.1
{% endif %}

{% if e3sm_hdf5_netcdf %}
setenv NETCDF_C_PATH $CRAY_NETCDF_HDF5PARALLEL_PREFIX
setenv NETCDF_FORTRAN_PATH $CRAY_NETCDF_HDF5PARALLEL_PREFIX
setenv PNETCDF_PATH $CRAY_PARALLEL_NETCDF_PREFIX
{% endif %}
setenv HDF5_USE_FILE_LOCKING FALSE
19 changes: 19 additions & 0 deletions mache/spack/frontier_gnu_mpich.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module reset >& /dev/null
module switch PrgEnv-cray PrgEnv-gnu/8.3.3 >& /dev/null
module switch gcc gcc/11.2.0 >& /dev/null

{% if e3sm_lapack %}
module load cray-libsci/22.12.1.1
{% endif %}
{% if e3sm_hdf5_netcdf %}
module load cray-hdf5-parallel/1.12.2.1
module load cray-netcdf-hdf5parallel/4.9.0.1
module load cray-parallel-netcdf/1.12.3.1
{% endif %}

{% if e3sm_hdf5_netcdf %}
export NETCDF_C_PATH=$CRAY_NETCDF_HDF5PARALLEL_PREFIX
export NETCDF_FORTRAN_PATH=$CRAY_NETCDF_HDF5PARALLEL_PREFIX
export PNETCDF_PATH=$CRAY_PARALLEL_NETCDF_PREFIX
{% endif %}
export HDF5_USE_FILE_LOCKING=FALSE
182 changes: 182 additions & 0 deletions mache/spack/frontier_gnu_mpich.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
spack:
specs:
- gcc
- cray-mpich
{% if e3sm_lapack %}
- cray-libsci
{% endif %}
{% if e3sm_hdf5_netcdf %}
- hdf5
- netcdf-c
- netcdf-fortran
- parallel-netcdf
{% endif %}
{{ specs }}
concretizer:
unify: when_possible
packages:
all:
compiler: [[email protected]]
providers:
mpi: [[email protected]]
{% if e3sm_lapack %}
lapack: [[email protected]]
{% endif %}
bzip2:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
curl:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
gettext:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
libxml2:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
ncurses:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
openssl:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
perl:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
python:
externals:
- spec: [email protected]
prefix: /opt/cray/pe/python/3.9.13.1
modules:
- cray-python/3.9.13.1
buildable: false
tar:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
xz:
externals:
- spec: [email protected]
prefix: /usr
buildable: false
gcc:
externals:
- spec: [email protected]
modules:
- PrgEnv-gnu/8.3.3
- gcc/11.2.0
- craype/2.7.19
- libfabric/1.15.2.0
buildable: false
cray-mpich:
externals:
- spec: [email protected]
prefix: /opt/cray/pe/mpich/8.1.23/ofi/gnu/9.1
modules:
- libfabric/1.15.2.0
- cray-mpich/8.1.23
buildable: false
libfabric:
externals:
- spec: [email protected]
prefix: /opt/cray/libfabric/1.15.2.0
modules:
- libfabric/1.15.2.0
buildable: false
{% if e3sm_lapack %}
cray-libsci:
externals:
- spec: [email protected]
prefix: /opt/cray/pe/libsci/22.12.1.1/GNU/9.1/x86_64
modules:
- cray-libsci/22.12.1.1
buildable: false
{% endif %}
{% if e3sm_hdf5_netcdf %}
hdf5:
externals:
- spec: [email protected]~cxx+fortran+hl~java+mpi+shared
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.1/GNU/9.1
buildable: false
parallel-netcdf:
externals:
- spec: [email protected]+cxx+fortran+pic+shared
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.1/GNU/9.1/
buildable: false
netcdf-c:
externals:
- spec: [email protected]+mpi~parallel-netcdf
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.1/GNU/9.1
buildable: false
netcdf-fortran:
externals:
- spec: [email protected] ^netcdf-c+mpi
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.1/GNU/9.1
- spec: [email protected] ^netcdf-c~mpi
prefix: /opt/cray/pe/netcdf/4.9.0.1/GNU/9.1
buildable: false
{% endif %}
{% if system_hdf5_netcdf %}
hdf5:
externals:
- spec: [email protected]~cxx+fortran+hl~java+mpi+shared
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.1/GNU/9.1
- spec: [email protected]~cxx+fortran+hl~java~mpi+shared
prefix: /opt/cray/pe/hdf5/1.12.2.1/GNU/9.1
buildable: false
parallel-netcdf:
externals:
- spec: [email protected]+cxx+fortran+pic+shared
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.1/GNU/9.1/
buildable: false
netcdf-c:
externals:
- spec: [email protected]+mpi~parallel-netcdf
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.1/GNU/9.1
- spec: [email protected]~mpi~parallel-netcdf
prefix: /opt/cray/pe/netcdf/4.9.0.1/GNU/9.1
buildable: false
netcdf-fortran:
externals:
- spec: [email protected] ^netcdf-c+mpi
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.1/GNU/9.1
- spec: [email protected] ^netcdf-c~mpi
prefix: /opt/cray/pe/netcdf/4.9.0.1/GNU/9.1
buildable: false
{% endif %}
config:
install_missing_compilers: false
compilers:
- compiler:
spec: [email protected]
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
flags: {}
operating_system: sles15
target: x86_64
modules:
- PrgEnv-gnu/8.3.3
- gcc/11.2.0
- craype/2.7.19
- libfabric/1.15.2.0
environment:
prepend_path:
PKG_CONFIG_PATH: "/opt/cray/xpmem/2.5.2-2.4_3.45__gd0f7936.shasta/lib64/pkgconfig"

0 comments on commit 94313d2

Please sign in to comment.