Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/1.5.0: site config and doc updates round 2 (S4, aws-pcluster, Discover, Nautilus, JCSDA CI containers) #775

Merged
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f6cf3d9
Update S4 site config
climbfuji Sep 12, 2023
f2ea1c8
Update site config for aws-pcluster
climbfuji Sep 12, 2023
02f411e
Update versions in configs/containers/README.md, cleanup unused parts
climbfuji Sep 13, 2023
3b86b2d
Update discover site config
climbfuji Sep 13, 2023
31f8071
Merge branch 'release/1.5.0' of https://github.com/jcsda/spack-stack …
climbfuji Sep 13, 2023
118e625
Update nautilus site config
climbfuji Sep 13, 2023
f7ee254
Remove ivybridge target architecture for Discover, now everything is …
climbfuji Sep 13, 2023
1deeff4
Bug fix for s4 packages, don't load compiler module as a dependency i…
climbfuji Sep 13, 2023
fd322ea
Documentation updates for nautilus, discover, s4, aws-pcluster
climbfuji Sep 13, 2023
727a35e
Update to ip 4.3.0
AlexanderRichert-NOAA Sep 14, 2023
2953c9d
Revert .gitmodules and update submodule pointer for spack
climbfuji Sep 14, 2023
3162681
Merge branch 'ip_430' of https://github.com/alexanderrichert-noaa/spa…
climbfuji Sep 14, 2023
a9889ef
Update configs/containers/README.md
climbfuji Sep 14, 2023
e7949ef
Progress on updating doc/source/PreConfiguredSites.rst
climbfuji Sep 14, 2023
104b69c
Merge branch 'release/1.5.0' of https://github.com/jcsda/spack-stack …
climbfuji Sep 14, 2023
11c72a8
No longer need to source a special script in spack containers
climbfuji Sep 14, 2023
d984381
Update documentation for Nautilus
climbfuji Sep 14, 2023
d80ab57
Fix missing newlines in config files
climbfuji Sep 14, 2023
dbb6d30
[skip ci] Add python module to module includes on acorn
climbfuji Sep 14, 2023
7e8fae1
Update acorn in PreConfiguredSites.rst
AlexanderRichert-NOAA Sep 14, 2023
378294d
Trigger CI
climbfuji Sep 14, 2023
ac6aa13
Merge branch 'feature/rel_150_site_updates_round2' of https://github.…
climbfuji Sep 14, 2023
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
1 change: 0 additions & 1 deletion configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
version: ['2.4.1']
bison:
version: ['3.8.2']
# Attention - when updating also check S4 site config
boost:
version: ['1.78.0']
variants: ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden
Expand Down
30 changes: 6 additions & 24 deletions configs/containers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,23 @@ To avoid hardcoding specs in the generic container recipes, we keep the specs li
specs: [base-env@1.0.0, jedi-base-env@1.0.0 ~fftw, ewok-env@1.0.0, jedi-fv3-env@1.0.0,
jedi-mpas-env@1.0.0, bacio@2.4.1, bison@3.8.2, bufr@12.0.0, ecbuild@3.7.2, eccodes@2.27.0, ecflow@5,
eckit@1.24.4, ecmwf-atlas@0.34.0 +trans ~fftw, fiat@1.2.0, ectrans@1.2.0 ~fftw, eigen@3.4.0,
fckit@0.11.0, fms@release-jcsda, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0,
gsibec@1.1.3, hdf@4.2.15, hdf5@1.14.1-2, ip@3.3.3, jasper@2.0.32, jedi-cmake@1.4.0,
fckit@0.11.0, fms@release-jcsda, g2@3.4.5, g2tmpl@1.10.2, gftl-shared@1.5.0,
gsibec@1.1.3, hdf@4.2.15, hdf5@1.14.0, ip@4.3.0, jasper@2.0.32, jedi-cmake@1.4.0,
libpng@1.6.37, nccmp@1.9.0.1, netcdf-c@4.9.2, netcdf-cxx4@4.3.1,
netcdf-fortran@4.6.0, nlohmann-json@3.10.5, nlohmann-json-schema-validator@2.1.0,
parallelio@2.5.10, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3,
py-gitpython@3.1.27, py-h5py@3.7.0, py-numpy@1.22.3,
py-pandas@1.4.0, py-pip, py-pyyaml@6.0, py-scipy@1.9.3, py-shapely@1.8.0, py-xarray@2022.3.0,
sp@2.3.3, udunits@2.2.28, w3nco@2.4.1, nco@5.0.6, esmf@8.4.2, mapl@2.35.2,
yafyaml@0.5.1, zlib@1.2.13, odc@1.4.6, shumlib@macos_clang_linux_intel_port]
py-pandas@1.5.3, py-pip, py-pyyaml@5.4.1, py-scipy@1.9.3, py-shapely@1.8.0, py-xarray@2022.3.0,
sp@2.3.3, udunits@2.2.28, w3nco@2.4.1, w3emc@2.10.0, nco@5.0.6, esmf@8.4.2, mapl@2.35.2,
yafyaml@0.5.1, zlib@1.2.13, zstd@1.5.2, odc@1.4.6, shumlib@macos_clang_linux_intel_port,
awscli@1.27.84, py-globus-cli@3.16.0]
# Don't build CRTM by default so that it gets built in the JEDI bundles:
# crtm@v2.4.1-jedi
# Comment out for now until build problems are solved
# https://github.com/jcsda/spack-stack/issues/522
# py-mysql-connector-python@8.0.32
```

### spack-stack-1.5.0 / ufs-weather-model-x.y.z containers for ufs-weather-model as of July 5, 2023

**Note. This is not yet working correctly, some libraries are missing. Please do not use yet! Also, if using the clang-mpich container, need to disable openmp for fms, not clear how to do this cleanly.**

```
specs: [base-env@1.0.0,
bacio@2.4.1, bison@3.8.2, bufr@12.0.0, ecbuild@3.7.2, eccodes@2.27.0, ecflow@5,
eckit@1.24.4, ecmwf-atlas@0.34.0 +trans ~fftw, fiat@1.2.0, ectrans@1.2.0 ~fftw, eigen@3.4.0,
fckit@0.11.0, fms@2023.01, g2@3.4.5, g2tmpl@1.10.0, gftl-shared@1.5.0,
gsibec@1.1.3, hdf@4.2.15, hdf5@1.14.1-2, ip@3.3.3, jasper@2.0.32, jedi-cmake@1.4.0,
libpng@1.6.37, nccmp@1.9.0.1, netcdf-c@4.9.2, netcdf-cxx4@4.3.1,
netcdf-fortran@4.6.0, nlohmann-json@3.10.5, nlohmann-json-schema-validator@2.1.0,
parallelio@2.5.10, parallel-netcdf@1.12.2, py-eccodes@1.4.2, py-f90nml@1.4.3,
py-gitpython@3.1.27, py-h5py@3.7.0, py-numpy@1.22.3, py-pandas@1.4.0,
py-pip, py-pyyaml@6.0, py-scipy@1.9.3, py-shapely@1.8.0, py-xarray@2022.3.0,
sp@2.3.3, udunits@2.2.28, w3emc@2.9.2, w3nco@2.4.1, nco@5.0.6, esmf@8.4.2, mapl@2.35.2,
yafyaml@0.5.1, zlib@1.2.13, odc@1.4.6, crtm@2.4.0, crtm-fix@2.4.0_emc]
```

### Create an AMI on AWS EC2 to build docker containers

AMI ami-0a934b7133c2b7102 (dom-docker-builder-full-backup-20230217; JCSDA-NOAA account, us-east-1) was created following the instructions below
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-clang-mpich.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,6 @@ spack:
echo "export CXX=clang++" >> /root/.bashrc && \
echo "export FC=gfortran" >> /root/.bashrc && \
printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig
# Source spack environment script for root
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Due to an upstream change in spack, these scripts are no longer needed/no longer exist.

RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc

# Labels for the image
labels:
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-gcc-openmpi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ spack:
RUN echo "export OMPI_ALLOW_RUN_AS_ROOT=1" >> /root/.bashrc && \
echo "export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1" >> /root/.bashrc && \
echo "export OMPI_MCA_rmaps_base_oversubscribe=1" >> /root/.bashrc
# Source spack environment script for root
RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc

# Labels for the image
labels:
Expand Down
2 changes: 0 additions & 2 deletions configs/containers/docker-ubuntu-intel-impi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,6 @@ spack:
echo "source /opt/intel/oneapi/compiler/latest/env/vars.sh" >> /root/.bashrc && \
echo "source /opt/intel/oneapi/mpi/latest/env/vars.sh" >> /root/.bashrc && \
printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig
# Source spack environment script for root
RUN echo "source /etc/profile.d/z10_spack_environment.sh\n" >> /root/.bashrc

# Labels for the image
labels:
Expand Down
1 change: 0 additions & 1 deletion configs/sites/aws-pcluster/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ modules:
- lmod
lmod:
include:
# List of packages for which we need modules that are blacklisted by default
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEI DEI

- python
exclude:
- ecflow
17 changes: 0 additions & 17 deletions configs/sites/aws-pcluster/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,11 @@ packages:
externals:
- spec: binutils@2.34
prefix: /usr
bison:
externals:
- spec: bison@3.5.1
prefix: /usr
boost:
buildable: False
externals:
- spec: boost@1.71.0 +atomic +chrono +date_time +exception +filesystem +graph +iostreams +locale +log +math +mpi +numpy +pic +program_options +python +random +regex +serialization +signals +system +test +thread +timer +wave cxxstd=17 visibility=hidden
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed.
#cmake:
# externals:
# - spec: cmake@3.16.3
# prefix: /usr
coreutils:
externals:
- spec: coreutils@8.30
Expand Down Expand Up @@ -120,13 +110,6 @@ packages:
externals:
- spec: openssh@8.2p1
prefix: /usr
# Don't use external openssl, this confuses the spack concretizer
# leading to duplicate packages (libarchive with different compression
# settings, somehow triggered by different cmake versions) being installed.
#openssl:
# externals:
# - spec: openssl@1.1.1f
# prefix: /usr
perl:
externals:
- spec: perl@5.30.0~cpanm+shared+threads
Expand Down
2 changes: 2 additions & 0 deletions configs/sites/discover/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ modules:
lmod:
exclude:
- ecflow
include:
- python
climbfuji marked this conversation as resolved.
Show resolved Hide resolved
38 changes: 0 additions & 38 deletions configs/sites/discover/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ packages:
compiler:: [intel@2022.0.1, gcc@10.1.0]
providers:
mpi:: [intel-oneapi-mpi@2021.5.0, openmpi@4.1.3]
target: [ivybridge]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No longer needed, all nodes on Discover are now skylake/cascadelake


### MPI, Python, MKL
mpi:
Expand All @@ -20,20 +19,6 @@ packages:
prefix: /discover/swdev/jcsda/spack-stack/openmpi-4.1.3/gcc-10.1.0
modules:
- openmpi/4.1.3-gcc-10.1.0
python:
buildable: False
externals:
- spec: python@3.9.7
prefix: /discover/swdev/jcsda/spack-stack/miniconda-3.9.7/
modules:
- miniconda/3.9.7
py-pip:
buildable: False
externals:
- spec: py-pip@21.2.4
prefix: /discover/swdev/jcsda/spack-stack/miniconda-3.9.7/
modules:
- miniconda/3.9.7

### Modification of common packages

Expand All @@ -57,25 +42,10 @@ packages:
externals:
- spec: berkeley-db@4.8.30
prefix: /usr
# Don't use, leads to duplicate packages being built
#bison:
# externals:
# - spec: bison@2.7
# prefix: /usr
ccache:
externals:
- spec: ccache@3.1.9
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed.
#cmake:
# externals:
# - spec: cmake@3.5.2
# prefix: /usr
# - spec: cmake@3.21.0
# prefix: /usr/local/other/cmake/3.21.0
# modules:
# - cmake/3.21.0
cpio:
externals:
- spec: cpio@2.11
Expand Down Expand Up @@ -185,10 +155,6 @@ packages:
# Old re2c on Discover unable to build newer versions of ninja
ninja:
version:: ['1.10.2']
openssl:
externals:
- spec: openssl@1.0.2j-fips
prefix: /usr
perl:
externals:
- spec: perl@5.18.2~cpanm+shared+threads
Expand All @@ -213,10 +179,6 @@ packages:
externals:
- spec: sed@4.2.2
prefix: /usr
sqlite:
externals:
- spec: sqlite@3.8.10.2~fts~functions+rtree
prefix: /usr
texinfo:
externals:
- spec: texinfo@4.13
Expand Down
3 changes: 0 additions & 3 deletions configs/sites/nautilus/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,4 @@ compilers:
PATH: '/opt/rh/gcc-toolset-11/root/usr/bin'
CPATH: '/opt/rh/gcc-toolset-11/root/usr/include'
LD_LIBRARY_PATH: '/opt/scyld/slurm/lib64:/opt/scyld/slurm/lib64/slurm:/p/app/compilers/intel/oneapi/compiler/2022.0.2/linux/compiler/lib/intel64_lin:/opt/rh/gcc-toolset-11/root/usr/lib64:/opt/rh/gcc-toolset-11/root/usr/lib'
# For intel-oneapi-mpi only
#set:
# I_MPI_ROOT: '/p/app/compilers/intel/oneapi/mpi/2021.5.1'
extra_rpaths: []
12 changes: 0 additions & 12 deletions configs/sites/nautilus/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,10 @@ packages:
externals:
- spec: binutils@2.30.117
prefix: /usr
bison:
externals:
- spec: bison@3.0.4
prefix: /usr
coreutils:
externals:
- spec: coreutils@8.30
prefix: /usr
#curl:
# externals:
# - spec: curl@7.61.1+gssapi+ldap+nghttp2
# prefix: /usr
diffutils:
externals:
- spec: diffutils@3.6
Expand Down Expand Up @@ -129,10 +121,6 @@ packages:
externals:
- spec: openssh@8.0p1
prefix: /usr
openssl:
externals:
- spec: openssl@1.1.1k
prefix: /usr
perl:
externals:
- spec: perl@5.26.3~cpanm+open+shared+threads
Expand Down
1 change: 1 addition & 0 deletions configs/sites/s4/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ modules:
- ecflow
include:
- mpich
- python
climbfuji marked this conversation as resolved.
Show resolved Hide resolved
64 changes: 13 additions & 51 deletions configs/sites/s4/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
packages:
all:
compiler:: [intel@2021.5.0, gcc@9.3.0]
# Removing gcc/mpich for now, not working as expected
#compiler:: [intel@2021.5.0, gcc@9.3.0]
#providers:
# mpi:: [intel-oneapi-mpi@2021.5.0, mpich@4.0.1]
compiler:: [intel@2021.5.0]
providers:
mpi:: [intel-oneapi-mpi@2021.5.0, mpich@4.0.1]
mpi:: [intel-oneapi-mpi@2021.5.0]

### MPI, Python, MKL
mpi:
Expand All @@ -11,31 +15,13 @@ packages:
externals:
- spec: intel-oneapi-mpi@2021.5.0%intel@2021.5.0
prefix: /opt/intel/oneapi/2022.1
modules:
- intel/2022.1
mpich:
externals:
- spec: mpich@4.0.1%gcc@9.3.0 ~hydra device=ch4
prefix: /data/prod/hpc-stack/gnu-9.3.0/mpich/4.0.1
modules:
- mpich/4.0.1
python:
buildable: False
externals:
- spec: python@3.9.12
prefix: /data/prod/jedi/spack-stack/miniconda-3.9.12
modules:
- miniconda/3.9.12
py-pip:
buildable: False
externals:
- spec: py-pip@21.2.4
prefix: /data/prod/jedi/spack-stack/miniconda-3.9.12
modules:
- miniconda/3.9.12
# Versions 1.73+ don't compile on s4 (bootstrap.sh fails)
boost:
version:: ['1.72.0']
# Commenting this out for now, not working as expected
#mpich:
# externals:
# - spec: mpich@4.0.1%gcc@9.3.0 ~hydra device=ch4
# prefix: /data/prod/hpc-stack/gnu-9.3.0/mpich/4.0.1
# modules:
# - mpich/4.0.1

### All other external packages listed alphabetically
autoconf:
Expand All @@ -54,30 +40,14 @@ packages:
externals:
- spec: berkeley-db@5.3.21
prefix: /usr
# Do not use, can lead to duplicate versions of nco being installed
#bison:
# externals:
# - spec: bison@3.0.4
# prefix: /usr
bzip2:
externals:
- spec: bzip2@1.0.6
prefix: /usr
# Don't use external cmake, this confuses the spack concretizer
# leading to duplicate packages being installed
#cmake:
# externals:
# - spec: cmake@3.20.5
# prefix: /usr
cpio:
externals:
- spec: cpio@2.11
prefix: /usr
# Don't use OS curl on S4, incomplete
#curl:
# externals:
# - spec: curl@7.29.0+ldap
# prefix: /usr
diffutils:
externals:
- spec: diffutils@3.3
Expand Down Expand Up @@ -178,10 +148,6 @@ packages:
externals:
- spec: openssh@7.4p1
prefix: /usr
openssl:
externals:
- spec: openssl@1.0.2k-fips
prefix: /usr
perl:
externals:
- spec: perl@5.16.3~cpanm+shared+threads
Expand All @@ -206,10 +172,6 @@ packages:
externals:
- spec: sed@4.2.2
prefix: /usr
sqlite:
externals:
- spec: sqlite@3.7.17~fts~functions+rtree
prefix: /usr
tar:
externals:
- spec: tar@1.26
Expand Down
Loading