Skip to content

Commit f8383cd

Browse files
authored
esmf@8.8.0b06 -> 8.8.0b10, configure LLVM 19.1.4 for Bounty, update customization 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.
1 parent 0b2a2b2 commit f8383cd

File tree

12 files changed

+77
-43
lines changed

12 files changed

+77
-43
lines changed

configs/common/modules_lmod.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@ modules:
132132
^esmf@8.6.1+debug snapshot=none: 'esmf-8.6.1-debug'
133133
^esmf@8.7.0~debug snapshot=none: 'esmf-8.7.0'
134134
^esmf@8.7.0+debug snapshot=none: 'esmf-8.7.0-debug'
135-
^esmf@8.8.0b06~debug snapshot=b06: 'esmf-8.8.0b06'
136-
^esmf@8.8.0b06+debug snapshot=b06: 'esmf-8.8.0b06-debug'
135+
^esmf@8.8.0b10~debug snapshot=b10: esmf-8.8.0b10
136+
^esmf@8.8.0b10+debug snapshot=b10: esmf-8.8.0b10-debug
137137
openmpi:
138138
environment:
139139
set:

configs/common/modules_tcl.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ modules:
134134
^esmf@8.6.1+debug snapshot=none: 'esmf-8.6.1-debug'
135135
^esmf@8.7.0~debug snapshot=none: 'esmf-8.7.0'
136136
^esmf@8.7.0+debug snapshot=none: 'esmf-8.7.0-debug'
137-
^esmf@8.8.0b06~debug snapshot=b06: 'esmf-8.8.0b06'
138-
^esmf@8.8.0b06+debug snapshot=b06: 'esmf-8.8.0b06-debug'
137+
^esmf@8.8.0b10~debug snapshot=b10: esmf-8.8.0b10
138+
^esmf@8.8.0b10+debug snapshot=b10: esmf-8.8.0b10-debug
139139
openmpi:
140140
environment:
141141
set:

configs/common/packages.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ packages:
5555
esmf:
5656
require:
5757
- '~xerces ~pnetcdf +shared +external-parallelio'
58-
- any_of: ['@=8.6.1 snapshot=none', '@=8.8.0b06 snapshot=b06']
58+
- any_of: ['@=8.6.1 snapshot=none', '@=8.8.0b10 snapshot=b10']
5959
- any_of: ['fflags="-fp-model precise" cxxflags="-fp-model precise"']
6060
when: "%intel"
6161
message: "Extra ESMF compile options for Intel"
@@ -177,8 +177,11 @@ packages:
177177
# ninja - when adding information here, also check Discover site config
178178
odc:
179179
require: '@1.5.2 ~fortran'
180+
# Todo: update to 0.3.28 so that it builds with 'clang'. Check
181+
# packages_clang.yaml where we are overwriting openblas for now.
180182
openblas:
181-
require: '@0.3.24'
183+
require:
184+
- '@0.3.24'
182185
openmpi:
183186
require: '~internal-hwloc +two_level_namespace'
184187
openssl:

configs/common/packages_clang.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
packages:
2+
all:
3+
providers:
4+
blas: [openblas]
5+
fftw-api: [fftw]
6+
lapack: [openblas]
7+
ectrans:
8+
require:
9+
- '~mkl +fftw'
10+
gsibec:
11+
require:
12+
- '~mkl'
13+
py-numpy:
14+
require:
15+
- '^openblas'
16+
# clang@19 requires openblas@0.3.28 - with this, we can'this
17+
# build all the Python dependencies as of 2024/12/11 due to
18+
# version conflicts.
19+
openblas:
20+
require::
21+
- '@0.3.28'
22+
# ip@5 doesn't build with clang@19 compilers (flang-new)
23+
# https://github.com/NOAA-EMC/NCEPLIBS-ip/issues/263
24+
# but requiring %gcc doesn't work when using openblas
25+
#ip:
26+
# require:
27+
# #- '~openmp'
28+
# - '%gcc'

configs/sites/tier1/derecho/packages.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
packages:
22
all:
33
target: [core2]
4+
45
### Modification of common packages
6+
# Tell esmf that this is not a 'normal' Cray ...
57
esmf:
6-
variants: ~xerces ~pnetcdf snapshot=none ~shared +external-parallelio esmf_os=Linux esmf_comm=mpich
7-
# Need to force spack to build python with ssl variant when using older openssl from OS
8-
python:
9-
require: "+ssl"
8+
require:
9+
- 'esmf_os=Linux esmf_comm=mpich'
1010
# py-scipy 1.12 does not build with intel on Derecho, pin to 1.11.4
1111
# use same version with gcc for consistency on the machine
1212
py-scipy:
1313
require:
1414
- '@1.11.4'
15+
1516
### All other external packages listed alphabetically
1617
autoconf:
1718
externals:

configs/sites/tier1/derecho/packages_intel.yaml

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ packages:
33
compiler:: [intel@2021.10.0,gcc@11.2.0]
44
providers:
55
mpi:: [cray-mpich@8.1.25]
6-
# Remove the next three lines to switch to intel-oneapi-mkl
7-
blas:: [openblas]
8-
fftw-api:: [fftw]
9-
lapack:: [openblas]
106
mpi:
117
buildable: False
128
cray-mpich:
@@ -18,25 +14,11 @@ packages:
1814
- libfabric/1.15.2.0
1915
- cray-pals/1.2.11
2016
intel-oneapi-mkl:
21-
# Remove buildable: False and configure+uncomment externals section below to use intel-oneapi-mkl
22-
# Note that on 2024/08/14, Dom H couldn't find any MKL installation on Derecho - keep using fftw
23-
# and openblas, or find another provider (Cray stuff)?
24-
buildable: False
25-
#externals:
26-
#- spec: intel-oneapi-mkl@2022.0.2%intel@2021.5.0
27-
# prefix: /apps/oneapi
17+
# No intel-oneapi-mkl installed on Derecho, install via spack.
18+
# Prefer the version that Intel releases with the above compiler
19+
prefer:
20+
- '@2023.2.0'
2821
# Newer versions of patchelf (tested 0.18.0) don't build with Intel on Derecho
2922
patchelf:
3023
version:: ['0.17.2']
31-
# DH* Remove this section to switch to intel-oneapi-mkl
32-
ectrans:
33-
require::
34-
- '@1.5.0 ~mkl +fftw'
35-
gsibec:
36-
require::
37-
- '@1.2.1 ~mkl'
38-
py-numpy:
39-
require::
40-
- '@:1.23 ^openblas'
41-
# *DH
4224

configs/sites/tier2/bounty/compilers.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,18 @@ compilers:
3838
modules: []
3939
environment: {}
4040
extra_rpaths: []
41+
- compiler:
42+
spec: clang@=19.1.4
43+
paths:
44+
cc: /home/dom/prod/llvm-19.1.4/bin/clang
45+
cxx: /home/dom/prod/llvm-19.1.4/bin/clang++
46+
f77: /home/dom/prod/llvm-19.1.4/bin/flang-new
47+
fc: /home/dom/prod/llvm-19.1.4/bin/flang-new
48+
flags: {}
49+
operating_system: almalinux9
50+
target: x86_64
51+
modules: []
52+
environment:
53+
append_path:
54+
LD_LIBRARY_PATH: /home/dom/prod/llvm-19.1.4/lib
55+
extra_rpaths: [/home/dom/prod/llvm-19.1.4/lib]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
packages:
2+
all:
3+
compiler:: [clang@19.1.4]
4+
providers:
5+
mpi:: [openmpi@5.0.5]

configs/templates/neptune-dev/spack.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ spack:
88
definitions:
99
- compilers: ['%aocc', '%apple-clang', '%gcc', '%intel', '%oneapi']
1010
- packages:
11-
- neptune-env +espc ^esmf@=8.8.0b06
12-
- neptune-python-env +xnrl ^neptune-env +espc ^esmf@=8.8.0b06
11+
- neptune-env +espc ^esmf@=8.8.0b10
12+
- neptune-python-env +xnrl ^neptune-env +espc ^esmf@=8.8.0b10
1313

1414
specs:
1515
- matrix:

configs/templates/skylab-dev/spack.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ spack:
1414
- jedi-fv3-env
1515
- jedi-geos-env ^esmf@=8.6.1
1616
- jedi-mpas-env
17-
- jedi-neptune-env ^esmf@=8.8.0b06
17+
- jedi-neptune-env ^esmf@=8.8.0b10
1818
- jedi-ufs-env ^esmf@=8.6.1
1919
- jedi-um-env
20-
- neptune-env ^esmf@=8.8.0b06
21-
- neptune-python-env ^esmf@=8.8.0b06
20+
- neptune-env ^esmf@=8.8.0b10
21+
- neptune-python-env ^esmf@=8.8.0b10
2222
- soca-env
2323

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

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

3232
specs:
3333
- matrix:

0 commit comments

Comments
 (0)