Skip to content

Commit 778c07b

Browse files
authored
Merge pull request #258 from xylar/add-aurora
Add support for Aurora
2 parents e624a55 + ace36ad commit 778c07b

File tree

7 files changed

+549
-238
lines changed

7 files changed

+549
-238
lines changed

docs/developers_guide/quick_start.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ process until your commit is successful. Some changes need to be made manually,
6262
such as inconsistent variable types. When this happens, you must update the
6363
file to `pre-commit`'s standards, and then attempt to re-commit the file.
6464

65-
Internally, `pre-commit` uses [ruff](https://docs.astral.sh/ruff/) to check
66-
PEP8 compliance, as well as sort, check and format imports,
67-
[flynt](https://github.com/ikamensh/flynt) to change any format strings to
68-
f-strings, and [mypy](https://mypy-lang.org/) to check for consistent variable
65+
Internally, `pre-commit` uses [ruff](https://docs.astral.sh/ruff/) to check
66+
PEP8 compliance, as well as sort, check and format imports,
67+
[flynt](https://github.com/ikamensh/flynt) to change any format strings to
68+
f-strings, and [mypy](https://mypy-lang.org/) to check for consistent variable
6969
types. An example error might be:
7070

7171
```bash
@@ -145,6 +145,7 @@ call `discover_machine()`. It will be recognized from the host name or the
145145
local environment:
146146

147147
- andes
148+
- aurora
148149
- anvil
149150
- chicoma-cpu
150151
- chrysalis

mache/cime_machine_config/config_machines.xml

Lines changed: 291 additions & 234 deletions
Large diffs are not rendered by default.

mache/discover.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def discover_machine(quiet=False):
2121
machine = None
2222
machines_by_host_re = {
2323
r'^andes': 'andes',
24+
r'^aurora': 'aurora',
25+
r'^x\d{4}c\d{1}s\d{1}b0n0': 'aurora',
2426
r'^blueslogin': 'anvil',
2527
r'^b\d{3}': 'anvil',
2628
r'^ch-fe': 'chicoma-cpu',

mache/machines/aurora.cfg

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Options related to deploying an e3sm-unified conda environment on supported
2+
# machines
3+
[e3sm_unified]
4+
5+
# the unix group for permissions for the e3sm-unified conda environment
6+
group = E3SM_Dec
7+
8+
# the compiler set to use for system libraries
9+
compiler = oneapi-ifx
10+
11+
# the system MPI library
12+
mpi = mpich
13+
14+
# the path to the directory where activation scripts, the base environment, and
15+
# system libraries will be deployed
16+
base_path = /lus/flare/projects/E3SM_Dec/soft/e3sm-unified
17+
18+
# whether to use system modules for hdf5, netcdf-c, netcdf-fortran and pnetcdf
19+
# (spack modules are used otherwise)
20+
use_system_hdf5_netcdf = True
21+
22+
23+
# config options related to data needed by diagnostics software such as
24+
# e3sm_diags and MPAS-Analysis
25+
[diagnostics]
26+
27+
# The base path to the diagnostics directory
28+
base_path = /lus/flare/projects/E3SM_Dec/diagnostics
29+
30+
# the unix group for permissions for diagnostics
31+
group = E3SM_Dec
32+
33+
34+
# The parallel section describes options related to running jobs in parallel
35+
[parallel]
36+
37+
# parallel system of execution: slurm, pbs or single_node
38+
system = pbs
39+
40+
# whether to use mpirun or srun to run a task
41+
parallel_executable = mpirun
42+
43+
# cores per node on the machine (with hyperthreading)
44+
cores_per_node = 208
45+
46+
# account for running diagnostics jobs
47+
account = E3SM_Dec
48+
49+
# queues (default is the first)
50+
queues = prod, debug
51+
52+
# Config options related to spack environments
53+
[spack]
54+
55+
# whether to load modules from the spack yaml file before loading the spack
56+
# environment
57+
modules_before = False
58+
59+
# whether to load modules from the spack yaml file after loading the spack
60+
# environment
61+
modules_after = False
62+
63+
64+
# config options related to synchronizing files
65+
[sync]
66+
67+
# the full hostname of the machine
68+
hostname = aurora.alcf.anl.gov
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
source /usr/share/lmod/lmod/init/csh
2+
3+
module load \
4+
cmake/3.30.5 \
5+
oneapi/release/2025.0.5
6+
7+
setenv LD_LIBRARY_PATH "/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/lib:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/lib:${LD_LIBRARY_PATH}"
8+
setenv PATH "/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/bin:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/bin:${PATH}"
9+
setenv FI_CXI_DEFAULT_CQ_SIZE "131072"
10+
setenv FI_CXI_CQ_FILL_PERCENT "20"
11+
setenv LIBOMPTARGET_DEBUG "0"
12+
setenv MPIR_CVAR_ENABLE_GPU "0"
13+
setenv GPU_TILE_COMPACT " "
14+
setenv RANKS_BIND "core"
15+
setenv KMP_AFFINITY "granularity=core,balanced"
16+
17+
{%- if e3sm_hdf5_netcdf %}
18+
setenv NETCDF_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
19+
setenv NETCDF_C_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
20+
setenv NETCDF_FORTRAN_PATH "/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
21+
setenv PNETCDF_PATH "/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002"
22+
{%- endif %}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
source /usr/share/lmod/lmod/init/sh
2+
3+
module load \
4+
cmake/3.30.5 \
5+
oneapi/release/2025.0.5
6+
7+
export LD_LIBRARY_PATH="/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/lib:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/lib:${LD_LIBRARY_PATH}"
8+
export PATH="/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002/bin:/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002/bin:${PATH}"
9+
export FI_CXI_DEFAULT_CQ_SIZE="131072"
10+
export FI_CXI_CQ_FILL_PERCENT="20"
11+
export LIBOMPTARGET_DEBUG="0"
12+
export MPIR_CVAR_ENABLE_GPU="0"
13+
export GPU_TILE_COMPACT=" "
14+
export RANKS_BIND="core"
15+
export KMP_AFFINITY="granularity=core,balanced"
16+
17+
{%- if e3sm_hdf5_netcdf %}
18+
export NETCDF_PATH="/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
19+
export NETCDF_C_PATH="/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
20+
export NETCDF_FORTRAN_PATH="/lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002"
21+
export PNETCDF_PATH="/lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002"
22+
{%- endif %}
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
{%- set compiler = "[email protected]" %}
2+
{%- set mpi = "[email protected]" %}
3+
4+
spack:
5+
specs:
6+
- {{ mpi }}%{{ compiler }}
7+
{%- if e3sm_hdf5_netcdf %}
8+
- "hdf5%{{ compiler }}"
9+
- "netcdf-c%{{ compiler }}"
10+
- "netcdf-fortran%{{ compiler }}"
11+
- "parallel-netcdf%{{ compiler }}"
12+
{%- endif %}
13+
{%- for spec in specs %}
14+
- "{{ spec }}%{{ compiler }}"
15+
{%- endfor %}
16+
concretizer:
17+
unify: true
18+
packages:
19+
all:
20+
compiler: [{{ compiler }}]
21+
providers:
22+
mpi: [{{ mpi }}]
23+
bison:
24+
externals:
25+
26+
prefix: /usr
27+
buildable: false
28+
bzip2:
29+
externals:
30+
31+
prefix: /usr
32+
buildable: false
33+
cmake:
34+
externals:
35+
36+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/gcc-13.3.0/cmake-3.30.5-igar7ts
37+
buildable: false
38+
curl:
39+
externals:
40+
41+
prefix: /usr
42+
buildable: false
43+
diffutils:
44+
externals:
45+
46+
prefix: /usr
47+
buildable: false
48+
findutils:
49+
externals:
50+
51+
prefix: /usr
52+
buildable: false
53+
gmake:
54+
externals:
55+
56+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/gcc-13.3.0/gmake-4.4.1-wza7sk4
57+
buildable: false
58+
libiconv:
59+
externals:
60+
61+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/gcc-13.3.0/libiconv-1.17-jjpb4sl
62+
buildable: false
63+
libxml2:
64+
externals:
65+
66+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/gcc-13.3.0/libxml2-2.13.5-jxhkqdj
67+
buildable: false
68+
openssl:
69+
externals:
70+
71+
prefix: /usr
72+
buildable: false
73+
xz:
74+
externals:
75+
76+
prefix: /usr
77+
buildable: false
78+
zlib:
79+
externals:
80+
81+
prefix: /usr
82+
buildable: false
83+
perl:
84+
externals:
85+
86+
prefix: /usr
87+
buildable: false
88+
oneapi:
89+
externals:
90+
- spec: {{ compiler }}
91+
modules:
92+
- oneapi/release/2025.0.5
93+
buildable: false
94+
gcc-runtime:
95+
externals:
96+
97+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/gcc-13.3.0/gcc-runtime-13.3.0-ghotoln
98+
buildable: false
99+
mpich:
100+
externals:
101+
- spec: {{ mpi }}%{{ compiler }}
102+
prefix: /opt/aurora/24.347.0/spack/unified/0.9.2/install/linux-sles15-x86_64/oneapi-2025.0.5/mpich-develop-git.6037a7a-sxnhr7p
103+
buildable: false
104+
{%- if e3sm_hdf5_netcdf %}
105+
hdf5:
106+
externals:
107+
- spec: [email protected]+cxx+fortran+hl+mpi
108+
prefix: /lus/flare/projects/E3SM_Dec/soft/hdf5/1.14.5/oneapi.eng.2024.07.30.002/
109+
buildable: false
110+
netcdf-c:
111+
externals:
112+
- spec: [email protected]+mpi~parallel-netcdf
113+
prefix: /lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002
114+
buildable: false
115+
netcdf-fortran:
116+
externals:
117+
118+
prefix: /lus/flare/projects/E3SM_Dec/soft/netcdf/4.9.2c-4.6.1f/oneapi.eng.2024.07.30.002
119+
buildable: false
120+
parallel-netcdf:
121+
externals:
122+
- spec: [email protected]+cxx+fortran
123+
prefix: /lus/flare/projects/E3SM_Dec/soft/pnetcdf/1.14.0/oneapi.eng.2024.07.30.002
124+
buildable: false
125+
{%- endif %}
126+
compilers:
127+
- compiler:
128+
spec: {{ compiler }}
129+
paths:
130+
cc: /opt/aurora/24.347.0/oneapi/compiler/latest/bin/icx
131+
cxx: /opt/aurora/24.347.0/oneapi/compiler/latest/bin/icpx
132+
f77: /opt/aurora/24.347.0/oneapi/compiler/latest/bin/ifx
133+
fc: /opt/aurora/24.347.0/oneapi/compiler/latest/bin/ifx
134+
flags: {}
135+
operating_system: sles15
136+
target: x86_64
137+
modules: []
138+
environment: {}
139+
extra_rpaths: []

0 commit comments

Comments
 (0)