Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
421 changes: 421 additions & 0 deletions configs/sites/tier1/aws-ubuntu/README.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions configs/sites/tier1/aws-ubuntu/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
config:
build_jobs: 8

# Build stage and caches use the common defaults under
# ${SPACK_STACK_DIR}/cache on the root disk. Don't point them at /tmp: on
# Ubuntu 26.04 /tmp is a RAM-backed tmpfs (half of RAM, with per-user quotas),
# and a unified-env build fills it ("Disk quota exceeded").
121 changes: 121 additions & 0 deletions configs/sites/tier1/aws-ubuntu/packages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
packages:
# Package constraints.
ewok-env:
require:
- +ecflow
# Soft preference, as on other tier1 sites. With gcc 14, +lidar2nc and +modis
# are dropped: they need hdf-eos2, and common pins hdf-eos2@2.20v1.00, which
# conflicts with %gcc@14: (3.0+ is required).
met:
variants: +python +grib2 +graphics +lidar2nc +modis
py-netcdf4:
require:
- "@1.7.2"
jedi-base-env:
require: [+fftw, +hdf4]
# jedi-ufs-env needs +bufrquery; unconstrained, the root splits in two.
jedi-python-env:
require: [+bufrquery]
# Unconstrained, jedi-tools-env falls back to py-myst-parser@1/py-sphinx@6,
# which cap py-attrs@:21 and py-docutils@:0.19 and split py-attrs, py-eccodes,
# py-rasterio, jedi-python-env and awscli-v2. common/packages_oneapi.yaml
# already requires py-sphinx@9: for the same reason.
py-myst-parser:
require: ['@5:']
py-sphinx:
require: ['@9:']
fontconfig:
variants: +pic
pixman:
variants: +pic
cairo:
variants: +pic

# System packages (Ubuntu 26.04). Derived with `spack external find`
# excluding cmake, curl, openssl, openssh, python and zlib (the multiarch
# libdir breaks pmix's zlib detection). coreutils (uutils) and binutils
# (2.46, no gold) aren't detected and are left for spack to build if needed.
autoconf:
externals:
- spec: autoconf@2.72
prefix: /usr
automake:
externals:
- spec: automake@1.18.1
prefix: /usr
diffutils:
externals:
- spec: diffutils@3.12
prefix: /usr
findutils:
externals:
- spec: findutils@4.10.0
prefix: /usr
flex:
externals:
- spec: flex@2.6.4+lex
prefix: /usr
gawk:
externals:
- spec: gawk@5.3.2
prefix: /usr
gettext:
externals:
- spec: gettext@0.23.2
prefix: /usr
git:
externals:
- spec: git@2.53.0~tcltk
prefix: /usr
git-lfs:
externals:
- spec: git-lfs@3.7.1
prefix: /usr
gmake:
externals:
- spec: gmake@4.4.1
prefix: /usr
grep:
externals:
- spec: grep@3.12
prefix: /usr
groff:
externals:
- spec: groff@1.23.0
prefix: /usr
libtool:
externals:
- spec: libtool@2.5.4
prefix: /usr
m4:
externals:
- spec: m4@1.4.21
prefix: /usr
perl:
externals:
- spec: perl@5.40.1~cpanm+opcode+open+shared+threads
prefix: /usr
pkgconf:
externals:
- spec: pkgconf@2.5.1
prefix: /usr
sed:
externals:
- spec: sed@4.9
prefix: /usr
tar:
buildable: false
externals:
- spec: tar@1.35
prefix: /usr
wget:
buildable: false
externals:
- spec: wget@1.25.0
prefix: /usr
# Not auto-detected (qmake is a qtchooser shim); apt qtbase5-dev. common requires qt@5.
qt:
buildable: false
externals:
- spec: qt@5.15.18
prefix: /usr
13 changes: 13 additions & 0 deletions configs/sites/tier1/aws-ubuntu/packages_gcc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
packages:
gcc:
buildable: false
externals:
- spec: gcc@14.3.0 languages:='c,c++,fortran'
prefix: /usr
extra_attributes:
compilers:
c: /usr/bin/gcc-14
cxx: /usr/bin/g++-14
fortran: /usr/bin/gfortran-14
mpi:
require: ['openmpi@5.0.10']
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
packages:

# Compilers.
# Language preferences for oneAPI come from common/packages_oneapi.yaml. Don't
# add "all: prefer: ['%oneapi']": it acts as a dependency constraint and makes
# spack rebuild system externals.
all:
prefer:
- '%oneapi'
conflict:
- '%c=oneapi %fortran=gcc'
- '%c,cxx=oneapi %fortran=gcc'
Expand All @@ -13,8 +14,6 @@ packages:
- '%fortran=oneapi %c,cxx=gcc'
- '%fortran=gcc %c,cxx=oneapi'
- '%fortran=gcc %c=oneapi'
providers:
mpi:: [intel-oneapi-mpi@2021.18]

intel-oneapi-compilers:
buildable: false
Expand All @@ -33,6 +32,13 @@ packages:
fortran: /opt/intel/oneapi/compiler/2026.1/bin/ifx
c: /opt/intel/oneapi/compiler/2026.1/bin/icx
cxx: /opt/intel/oneapi/compiler/2026.1/bin/icpx
# Ubuntu 26.04's default gcc is 15. Left alone, icx/icpx pick the newest
# installed GCC for libstdc++ headers and libs, and ifx links its
# runtime. Pin them to gcc 14 so they match the gcc env.
flags:
cflags: --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/14
cxxflags: --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/14
fflags: -gcc-name=/usr/bin/gcc-14 -gxx-name=/usr/bin/g++-14
openmpi:
buildable: false
mpich:
Expand All @@ -43,13 +49,13 @@ packages:
- intel-oneapi-mpi@2021.18
gcc:
externals:
- spec: gcc@13.3.0 languages:='c,c++,fortran'
- spec: gcc@14.3.0 languages:='c,c++,fortran'
prefix: /usr
extra_attributes:
compilers:
c: /usr/bin/gcc
cxx: /usr/bin/g++
fortran: /usr/bin/gfortran
c: /usr/bin/gcc-14
cxx: /usr/bin/g++-14
fortran: /usr/bin/gfortran-14
buildable: false
intel-oneapi-mkl:
buildable: false
Expand Down Expand Up @@ -83,6 +89,15 @@ packages:
- tbb/2023.1

# Package constraints.
# Avoid duplicates. Unpinned, gmao-swell-env and py-pyresample pull two
# py-dask versions, which splits py-setuptools-scm (8 vs 9) and cascades into
# py-netcdf4, py-xarray, py-zarr and jedi-python-env. The gcc env settles on
# 2024.12.1 without a pin.
py-dask:
require: ['@2024.12.1']
# Unconstrained, one met concretizes ~graphics. Keep common's +shared-intel.
met:
require: ['+graphics +shared-intel']
jedi-base-env:
require: [+fftw, +hdf4]
jedi-python-env:
Expand Down
Loading
Loading