Skip to content

Commit

Permalink
[email protected] -> 8.8.0b10, configure LLVM 19.1.4 for Bounty, update c…
Browse files Browse the repository at this point in the history
…ustomization of common packages for Derecho (#1409)

1. Update esmf from 8.8.0b06 to 8.8.0b10
2. Simplify/clean up modification of common packages in Derecho site config (move from openblas to intel-oneapi-mkl, since openblas no longer builds - neither 0.3.24 nor 0.3.28)
3. Configure LLVM 19.1.4 for Bounty; this requires updating openblas from 0.3.24 to 0.3.28, which we cannot do globally yet (waiting for #1384); there is also a build issue for ip that we can't work around, for now one has to manually replace ip with sp in spack-ext/path/to/my/env/package.py.
  • Loading branch information
climbfuji authored Dec 18, 2024
1 parent 0b2a2b2 commit f8383cd
Show file tree
Hide file tree
Showing 12 changed files with 77 additions and 43 deletions.
4 changes: 2 additions & 2 deletions configs/common/modules_lmod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ modules:
^[email protected]+debug snapshot=none: 'esmf-8.6.1-debug'
^[email protected]~debug snapshot=none: 'esmf-8.7.0'
^[email protected]+debug snapshot=none: 'esmf-8.7.0-debug'
^[email protected].0b06~debug snapshot=b06: 'esmf-8.8.0b06'
^[email protected].0b06+debug snapshot=b06: 'esmf-8.8.0b06-debug'
^[email protected].0b10~debug snapshot=b10: esmf-8.8.0b10
^[email protected].0b10+debug snapshot=b10: esmf-8.8.0b10-debug
openmpi:
environment:
set:
Expand Down
4 changes: 2 additions & 2 deletions configs/common/modules_tcl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ modules:
^[email protected]+debug snapshot=none: 'esmf-8.6.1-debug'
^[email protected]~debug snapshot=none: 'esmf-8.7.0'
^[email protected]+debug snapshot=none: 'esmf-8.7.0-debug'
^[email protected].0b06~debug snapshot=b06: 'esmf-8.8.0b06'
^[email protected].0b06+debug snapshot=b06: 'esmf-8.8.0b06-debug'
^[email protected].0b10~debug snapshot=b10: esmf-8.8.0b10
^[email protected].0b10+debug snapshot=b10: esmf-8.8.0b10-debug
openmpi:
environment:
set:
Expand Down
7 changes: 5 additions & 2 deletions configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ packages:
esmf:
require:
- '~xerces ~pnetcdf +shared +external-parallelio'
- any_of: ['@=8.6.1 snapshot=none', '@=8.8.0b06 snapshot=b06']
- any_of: ['@=8.6.1 snapshot=none', '@=8.8.0b10 snapshot=b10']
- any_of: ['fflags="-fp-model precise" cxxflags="-fp-model precise"']
when: "%intel"
message: "Extra ESMF compile options for Intel"
Expand Down Expand Up @@ -177,8 +177,11 @@ packages:
# ninja - when adding information here, also check Discover site config
odc:
require: '@1.5.2 ~fortran'
# Todo: update to 0.3.28 so that it builds with 'clang'. Check
# packages_clang.yaml where we are overwriting openblas for now.
openblas:
require: '@0.3.24'
require:
- '@0.3.24'
openmpi:
require: '~internal-hwloc +two_level_namespace'
openssl:
Expand Down
28 changes: 28 additions & 0 deletions configs/common/packages_clang.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
packages:
all:
providers:
blas: [openblas]
fftw-api: [fftw]
lapack: [openblas]
ectrans:
require:
- '~mkl +fftw'
gsibec:
require:
- '~mkl'
py-numpy:
require:
- '^openblas'
# clang@19 requires [email protected] - with this, we can'this
# build all the Python dependencies as of 2024/12/11 due to
# version conflicts.
openblas:
require::
- '@0.3.28'
# ip@5 doesn't build with clang@19 compilers (flang-new)
# https://github.com/NOAA-EMC/NCEPLIBS-ip/issues/263
# but requiring %gcc doesn't work when using openblas
#ip:
# require:
# #- '~openmp'
# - '%gcc'
9 changes: 5 additions & 4 deletions configs/sites/tier1/derecho/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
packages:
all:
target: [core2]

### Modification of common packages
# Tell esmf that this is not a 'normal' Cray ...
esmf:
variants: ~xerces ~pnetcdf snapshot=none ~shared +external-parallelio esmf_os=Linux esmf_comm=mpich
# Need to force spack to build python with ssl variant when using older openssl from OS
python:
require: "+ssl"
require:
- 'esmf_os=Linux esmf_comm=mpich'
# py-scipy 1.12 does not build with intel on Derecho, pin to 1.11.4
# use same version with gcc for consistency on the machine
py-scipy:
require:
- '@1.11.4'

### All other external packages listed alphabetically
autoconf:
externals:
Expand Down
26 changes: 4 additions & 22 deletions configs/sites/tier1/derecho/packages_intel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ packages:
compiler:: [[email protected],[email protected]]
providers:
mpi:: [[email protected]]
# Remove the next three lines to switch to intel-oneapi-mkl
blas:: [openblas]
fftw-api:: [fftw]
lapack:: [openblas]
mpi:
buildable: False
cray-mpich:
Expand All @@ -18,25 +14,11 @@ packages:
- libfabric/1.15.2.0
- cray-pals/1.2.11
intel-oneapi-mkl:
# Remove buildable: False and configure+uncomment externals section below to use intel-oneapi-mkl
# Note that on 2024/08/14, Dom H couldn't find any MKL installation on Derecho - keep using fftw
# and openblas, or find another provider (Cray stuff)?
buildable: False
#externals:
#- spec: [email protected]%[email protected]
# prefix: /apps/oneapi
# No intel-oneapi-mkl installed on Derecho, install via spack.
# Prefer the version that Intel releases with the above compiler
prefer:
- '@2023.2.0'
# Newer versions of patchelf (tested 0.18.0) don't build with Intel on Derecho
patchelf:
version:: ['0.17.2']
# DH* Remove this section to switch to intel-oneapi-mkl
ectrans:
require::
- '@1.5.0 ~mkl +fftw'
gsibec:
require::
- '@1.2.1 ~mkl'
py-numpy:
require::
- '@:1.23 ^openblas'
# *DH

15 changes: 15 additions & 0 deletions configs/sites/tier2/bounty/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,18 @@ compilers:
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: clang@=19.1.4
paths:
cc: /home/dom/prod/llvm-19.1.4/bin/clang
cxx: /home/dom/prod/llvm-19.1.4/bin/clang++
f77: /home/dom/prod/llvm-19.1.4/bin/flang-new
fc: /home/dom/prod/llvm-19.1.4/bin/flang-new
flags: {}
operating_system: almalinux9
target: x86_64
modules: []
environment:
append_path:
LD_LIBRARY_PATH: /home/dom/prod/llvm-19.1.4/lib
extra_rpaths: [/home/dom/prod/llvm-19.1.4/lib]
5 changes: 5 additions & 0 deletions configs/sites/tier2/bounty/packages_clang.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
packages:
all:
compiler:: [[email protected]]
providers:
mpi:: [[email protected]]
4 changes: 2 additions & 2 deletions configs/templates/neptune-dev/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ spack:
definitions:
- compilers: ['%aocc', '%apple-clang', '%gcc', '%intel', '%oneapi']
- packages:
- neptune-env +espc ^esmf@=8.8.0b06
- neptune-python-env +xnrl ^neptune-env +espc ^esmf@=8.8.0b06
- neptune-env +espc ^esmf@=8.8.0b10
- neptune-python-env +xnrl ^neptune-env +espc ^esmf@=8.8.0b10

specs:
- matrix:
Expand Down
8 changes: 4 additions & 4 deletions configs/templates/skylab-dev/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ spack:
- jedi-fv3-env
- jedi-geos-env ^esmf@=8.6.1
- jedi-mpas-env
- jedi-neptune-env ^esmf@=8.8.0b06
- jedi-neptune-env ^esmf@=8.8.0b10
- jedi-ufs-env ^esmf@=8.6.1
- jedi-um-env
- neptune-env ^esmf@=8.8.0b06
- neptune-python-env ^esmf@=8.8.0b06
- neptune-env ^esmf@=8.8.0b10
- neptune-python-env ^esmf@=8.8.0b10
- soca-env

# Various crtm tags (list all to avoid duplicate packages)
Expand All @@ -27,7 +27,7 @@ spack:

# Various esmf tags (list all to avoid duplicate packages)
- esmf@=8.6.1 snapshot=none
- esmf@=8.8.0b06 snapshot=b06
- esmf@=8.8.0b10 snapshot=b10

specs:
- matrix:
Expand Down
8 changes: 4 additions & 4 deletions configs/templates/unified-dev/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ spack:
- jedi-fv3-env
- jedi-geos-env ^esmf@=8.6.1
- jedi-mpas-env
- jedi-neptune-env ^esmf@=8.8.0b06
- jedi-neptune-env ^esmf@=8.8.0b10
- jedi-tools-env
- jedi-ufs-env ^esmf@=8.6.1
- jedi-um-env
- neptune-env ^esmf@=8.8.0b06
- neptune-python-env ^esmf@=8.8.0b06
- neptune-env ^esmf@=8.8.0b10
- neptune-python-env ^esmf@=8.8.0b10
- soca-env
- ufs-srw-app-env ^esmf@=8.6.1
- ufs-weather-model-env ^esmf@=8.6.1
Expand All @@ -33,7 +33,7 @@ spack:

# Various esmf tags (list all to avoid duplicate packages)
- esmf@=8.6.1 snapshot=none
- esmf@=8.8.0b06 snapshot=b06
- esmf@=8.8.0b10 snapshot=b10

# MADIS for WCOSS2 decoders.
- [email protected]
Expand Down
2 changes: 1 addition & 1 deletion spack

0 comments on commit f8383cd

Please sign in to comment.