Skip to content

Commit

Permalink
Merge remote-tracking branch 'jcsda/develop' into revert_modules_mods
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderRichert-NOAA committed Mar 8, 2024
2 parents 0a8ee94 + ed48610 commit c8b8dbd
Show file tree
Hide file tree
Showing 50 changed files with 1,059 additions and 376 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/macos-ci-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ jobs:
export SPACK_SYSTEM_CONFIG_PATH="${ENVDIR}/site"
# Find external packages
spack external find --scope system --exclude bison --exclude openssl
spack external find --scope system \
--exclude bison --exclude openssl \
--exclude python
spack external find --scope system perl
spack external find --scope system wget
PATH="/opt/homebrew/opt/curl/bin:$PATH" \
Expand All @@ -77,7 +79,7 @@ jobs:
# *DH
# Set compiler and MPI
spack config add "packages:all:providers:mpi:[openmpi@4.1.6]"
spack config add "packages:all:providers:mpi:[openmpi@5.0.1]"
spack config add "packages:all:compiler:[apple-clang@14.0.3]"
sed -i '' "s/\['\%aocc', '\%apple-clang', '\%gcc', '\%intel'\]/\['\%apple-clang'\]/g" $ENVDIR/spack.yaml
Expand Down Expand Up @@ -136,7 +138,7 @@ jobs:
module use ${ENVDIR}/install/modulefiles/Core
module load stack-apple-clang/14.0.3
module load stack-openmpi/4.1.6
module load stack-openmpi/5.0.1
module load stack-python/3.10.13
module available
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/macos-ci-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,11 @@ jobs:
export SPACK_SYSTEM_CONFIG_PATH="${ENVDIR}/site"
# Find external packages
spack external find --scope system --exclude bison --exclude openssl
spack external find --scope system \
--exclude bison --exclude openssl \
--exclude python --exclude gettext
# Need to find gettext outside of default (presumed to be a system) path for krb5
spack external find --path=/usr/local/Cellar/gettext/0.21.1 gettext
spack external find --scope system perl
spack external find --scope system wget
PATH="/usr/local/opt/curl/bin:$PATH" \
Expand All @@ -70,7 +74,7 @@ jobs:
# *DH
# Set compiler and MPI
spack config add "packages:all:providers:mpi:[openmpi@4.1.6]"
spack config add "packages:all:providers:mpi:[openmpi@5.0.1]"
spack config add "packages:all:compiler:[apple-clang@14.0.0]"
sed -i '' "s/\['\%aocc', '\%apple-clang', '\%gcc', '\%intel'\]/\['\%apple-clang'\]/g" $ENVDIR/spack.yaml
Expand Down Expand Up @@ -127,7 +131,7 @@ jobs:
module use ${ENVDIR}/install/modulefiles/Core
module load stack-apple-clang/14.0.0
module load stack-openmpi/4.1.6
module load stack-openmpi/5.0.1
module load stack-python/3.10.13
module available
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ubuntu-ci-containers-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ jobs:
spack stack create ctr --container ${CONTAINER} --specs ${SPECS}
cd ${ENVDIR}
# mapl doesn't build with mpich - https://github.com/JCSDA/spack-stack/issues/608
# mapl@:2.41 doesn't build with mpich@4 - https://github.com/JCSDA/spack-stack/issues/608
if [[ "${CONTAINER}" == *"mpich"* ]]; then
sed -i 's/- mapl@2.35.2/#- mapl@2.35.2/g' spack.yaml
sed -i 's/- mapl@/#- mapl@/g' spack.yaml
fi
spack containerize > Dockerfile
docker build -t ${CONTAINER}-${SPECS} .
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/ubuntu-ci-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ jobs:
export SPACK_SYSTEM_CONFIG_PATH="${ENVDIR}/site"
# Find external packages
spack external find --scope system --exclude bison --exclude openssl
spack external find --scope system \
--exclude bison --exclude openssl \
--exclude curl --exclude python
spack external find --scope system sed
spack external find --scope system perl
spack external find --scope system wget
PATH="/usr/local/opt/curl/bin:$PATH" \
spack external find --scope system curl
PATH="/usr/local/opt/qt5/bin:$PATH" \
spack external find --scope system qt
spack external find --scope system texlive
Expand All @@ -70,7 +70,7 @@ jobs:
echo " intel-oneapi-mpi:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " buildable: false" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " externals:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " - spec: intel-oneapi-mpi@2021.6.0%intel@2022.1.0" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " - spec: intel-oneapi-mpi@2021.6.0%intel@2021.6.0" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " prefix: /opt/intel" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " modules:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " - libfabric-aws/1.16.0~amzn4.0" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
Expand All @@ -84,7 +84,7 @@ jobs:
echo "" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo "compilers:" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo "- compiler:" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " spec: intel@2022.1.0" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " spec: intel@2021.6.0" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " paths:" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " cc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/icc" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " cxx: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/icpc" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
Expand All @@ -110,15 +110,15 @@ jobs:
# Set compiler and MPI
spack config add "packages:all:providers:mpi:[intel-oneapi-mpi@2021.6.0]"
spack config add "packages:all:compiler:[intel@2022.1.0]"
spack config add "packages:all:compiler:[intel@2021.6.0]"
sed -i "s/\['\%aocc', '\%apple-clang', '\%gcc', '\%intel'\]/\['\%intel'\]/g" $ENVDIR/spack.yaml
# Add additional variants for MET packages, different from config/common/packages.yaml
spack config add "packages:met:variants:+python +grib2 +graphics +lidar2nc +modis"
# Concretize and check for duplicates
spack concretize 2>&1 | tee log.concretize.intel-2022.1.0
${SPACK_STACK_DIR}/util/show_duplicate_packages.py -d log.concretize.intel-2022.1.0 -i fms -i crtm -i esmf -i mapl
spack concretize 2>&1 | tee log.concretize.intel-2021.6.0
${SPACK_STACK_DIR}/util/show_duplicate_packages.py -d log.concretize.intel-2021.6.0 -i fms -i crtm -i esmf -i mapl
# Add and update source cache
spack mirror add local-source file:///home/ubuntu/spack-stack/source-cache/
Expand All @@ -136,12 +136,12 @@ jobs:
# base-env
echo "base-env ..."
spack install --fail-fast --source --no-check-signature base-env 2>&1 | tee log.install.intel-2022.1.0.base-env
spack install --fail-fast --source --no-check-signature base-env 2>&1 | tee log.install.intel-2021.6.0.base-env
spack buildcache create -a -u /home/ubuntu/spack-stack/build-cache/ base-env
# the rest
echo "${{ inputs.template || 'unified-dev' }} ..."
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.intel@2022.1.0.${{ inputs.template || 'unified-dev' }}
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.intel@2021.6.0.${{ inputs.template || 'unified-dev' }}
spack buildcache create -a -u /home/ubuntu/spack-stack/build-cache/
# Next steps: synchronize source and build cache to a central/combined mirror?
Expand Down Expand Up @@ -181,7 +181,7 @@ jobs:
ls -l ${ENVDIR}/install/modulefiles/Core
module use ${ENVDIR}/install/modulefiles/Core
module load stack-intel/2022.1.0
module load stack-intel/2021.6.0
module load stack-intel-oneapi-mpi/2021.6.0
module load stack-python/3.10.13
module available
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-rnd-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ jobs:
ls -l /home/ubuntu/spack-stack/CI/unified-env/${TODAY}/modulefiles/Core
module use /home/ubuntu/spack-stack/CI/unified-env/${TODAY}/modulefiles/Core
module load stack-intel/2022.1.0
module load stack-intel/2021.6.0
module load stack-intel-oneapi-mpi/2021.6.0
module load stack-python/3.10.13
module available
Expand Down
3 changes: 1 addition & 2 deletions configs/common/modules_lmod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ modules:
environment:
set:
'OMPI_MCA_rmaps_base_oversubscribe': '1'
'PRTE_MCA_rmaps_default_mapping_policy': ':oversubscribe'
p4est:
environment:
set:
Expand Down Expand Up @@ -285,5 +286,3 @@ modules:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH
3 changes: 1 addition & 2 deletions configs/common/modules_tcl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ modules:
environment:
set:
'OMPI_MCA_rmaps_base_oversubscribe': '1'
'PRTE_MCA_rmaps_default_mapping_policy': ':oversubscribe'
p4est:
environment:
set:
Expand Down Expand Up @@ -284,5 +285,3 @@ modules:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH
40 changes: 17 additions & 23 deletions configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
jpeg: [libjpeg-turbo]
lapack: [openblas]
yacc: [bison]
zlib-api: [zlib]
zlib-api: [zlib-ng]
#
# This version of awscli goes with py-pyyaml@5.4.1
awscli:
Expand All @@ -20,8 +20,7 @@
bison:
version: ['3.8.2']
boost:
version: ['1.83.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
require: "@1.83: ~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"
bufr:
version: ['12.0.1']
variants: +python
Expand All @@ -40,7 +39,7 @@
ecbuild:
version: ['3.7.2']
eccodes:
version: ['2.32.0']
version: ['2.33.0']
variants: +png
ecflow:
version: ['5.11.4']
Expand All @@ -49,7 +48,7 @@
version: ['1.24.5']
variants: linalg=eigen,lapack compression=lz4,bzip2
ecmwf-atlas:
version: ['0.35.1']
version: ['0.36.0']
variants: +fckit +trans +tesselation +fftw
ectrans:
version: ['1.2.0']
Expand Down Expand Up @@ -113,8 +112,8 @@
version: ['4.2.15']
variants: +external-xdr ~fortran ~netcdf
hdf5:
version: ['1.14.0']
variants: +hl +fortran +mpi ~threadsafe +szip
version: ['1.14.3']
variants: +hl +fortran +mpi ~threadsafe ~szip
ip:
version: ['4.3.0']
variants: precision=4,d,8
Expand All @@ -124,8 +123,6 @@
version: ['2.0.32']
jedi-cmake:
version: ['1.4.0']
jpeg:
version: ['9.1.0']
landsfcutil:
version: ['2.4.1']
libjpeg-turbo:
Expand All @@ -138,7 +135,7 @@
mapl:
version: ['2.40.3']
variants: +shared +pflogger ~f2py
# If making changes here, also check the Discover site config and the CI workflows
# If making changes here, also check the Discover site configs and the CI workflows
met:
version: ['11.1.0']
variants: +python +grib2
Expand All @@ -148,10 +145,8 @@
require: "+int64 +real64"
mpich:
variants: ~hwloc +two_level_namespace
mysql:
variants: +download_boost
nco:
version: ['5.0.6']
version: ['5.1.6']
variants: ~doc
# ncview - when adding information here, also check Orion
# and Discover site configs
Expand All @@ -166,7 +161,7 @@
netcdf-c:
version: ['4.9.2']
# If using 4.9.1, turn off byterange variant to fix compile error: ~byterange
variants: +dap +mpi ~parallel-netcdf
variants: +dap +mpi ~parallel-netcdf ~szip
netcdf-cxx4:
version: ['4.3.1']
netcdf-fortran:
Expand All @@ -183,17 +178,17 @@
version: ['0.3.24']
variants: +noavx512
openmpi:
variants: +internal-hwloc +two_level_namespace
variants: ~internal-hwloc +two_level_namespace
# Pin openssl to avoid duplicate packages being built
openssl:
variants: +shared
p4est:
version: ['2.8']
parallelio:
version: ['2.5.10']
version: ['2.6.2']
variants: +pnetcdf
parallel-netcdf:
version: ['1.12.2']
version: ['1.12.3']
pflogger:
version: ['1.12.0']
variants: +mpi
Expand Down Expand Up @@ -221,6 +216,9 @@
# to avoid duplicate packages being built (cylc dependencies soft-want @3:)
py-cython:
require: "@0.29.36"
## https://github.com/JCSDA/spack-stack/issues/980
#py-gitpython:
# require: "@3.1.27"
py-h5py:
version: ['3.7.0']
variants: ~mpi
Expand All @@ -237,9 +235,6 @@
require: ['@1.22.3']
py-pandas:
variants: +excel
# To avoid pip._vendor.pep517.wrappers.BackendInvalid errors with newer
# versions of py-poetry-core when using external/homebrew Python as
# we do at the moment in spack-stack.
# Pin the py-setuptools version to avoid duplicate Python packages
py-setuptools:
require: ['@63.4.3']
Expand All @@ -263,6 +258,7 @@
variants: precision=4,d,8
udunits:
version: ['2.2.28']
# Note - we can remove upp from stack at some point?
upp:
version: ['10.0.10']
w3emc:
Expand All @@ -278,9 +274,7 @@
wrf-io:
version: ['1.2.0']
yafyaml:
version: ['0.5.1']
zlib:
version: ['1.2.13']
version: ['1.2.0']
zstd:
version: ['1.5.2']
variants: +programs
Loading

0 comments on commit c8b8dbd

Please sign in to comment.