Skip to content

Commit da08c9e

Browse files
NCO/WCOSS2-related updates from release/1.9.0 to develop (#1690)
* Add fetch_go_deps.py, with ability to specify packages * NCO template: pin [email protected], don't specify compilers for individual packages * Substantial updates to WCOSS2 site config for 1.9.2 release, including oneAPI compilers.
1 parent 8c81ec8 commit da08c9e

File tree

6 files changed

+259
-68
lines changed

6 files changed

+259
-68
lines changed

configs/sites/tier1/wcoss2/compilers.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,49 @@ compilers:
4343
CONFIG_SITE: ''
4444
unset: [PYTHONPATH]
4545
extra_rpaths: []
46+
- compiler:
47+
48+
paths:
49+
cc: cc
50+
cxx: CC
51+
f77: ftn
52+
fc: ftn
53+
flags:
54+
cflags: '--gcc-toolchain=/opt/cray/pe/gcc/12.1.0/snos/'
55+
fflags: '-gcc-name=/opt/cray/pe/gcc/12.1.0/snos/bin/gcc -gxx-name=/opt/cray/pe/gcc/12.1.0/snos/bin/g++'
56+
cxxflags: '--gcc-toolchain=/opt/cray/pe/gcc/12.1.0/snos/'
57+
operating_system: sles15
58+
modules:
59+
- PrgEnv-intel/8.3.3
60+
- craype/2.7.17
61+
- intel-oneapi/2024.2
62+
- libfabric
63+
environment:
64+
prepend_path:
65+
PATH: /opt/cray/pe/gcc/12.1.0/snos/bin
66+
LD_LIBRARY_PATH: /opt/cray/pe/gcc/12.1.0/snos/lib64
67+
LIBRARY_PATH: /opt/cray/pe/gcc/12.1.0/snos/lib64
68+
CPATH: /opt/cray/pe/gcc/12.1.0/snos/include
69+
set:
70+
# OpenSUSE on WCOSS2 machines sets CONFIG_SITE so
71+
# Automake-based builds are installed in lib64
72+
# which confuses some packages.
73+
CONFIG_SITE: ''
74+
extra_rpaths: []
75+
- compiler:
76+
77+
paths:
78+
cc: /opt/cray/pe/gcc/12.1.0/snos/bin/gcc
79+
cxx: /opt/cray/pe/gcc/12.1.0/snos/bin/g++
80+
f77: /opt/cray/pe/gcc/12.1.0/snos/bin/gfortran
81+
fc: /opt/cray/pe/gcc/12.1.0/snos/bin/gfortran
82+
flags: {}
83+
operating_system: sles15
84+
modules: []
85+
environment:
86+
set:
87+
# OpenSUSE on WCOSS2 machines sets CONFIG_SITE so
88+
# Automake-based builds are installed in lib64
89+
# which confuses some packages.
90+
CONFIG_SITE: ''
91+
extra_rpaths: []
Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
packages:
22
#
3-
### Set compiler.
4-
#
5-
all:
6-
prefer: ['%[email protected]']
7-
compiler:: [[email protected]]
8-
providers:
9-
mpi: [cray-mpich]
10-
#
11-
### Strictly set virtual package providers.
3+
### Strictly set virtual package providers (+disable mkl).
124
#
135
mpi:
146
buildable: False
@@ -21,16 +13,8 @@
2113
require: openblas
2214
jpeg:
2315
require: libjpeg-turbo
24-
#
25-
### External packages.
26-
#
27-
cray-mpich:
28-
externals:
29-
- spec: [email protected]~wrappers
30-
modules:
31-
- libfabric
32-
- craype-network-ofi
33-
- cray-mpich/8.1.9
16+
intel-oneapi-mkl:
17+
buildable: false
3418
#
3519
### Individual package settings.
3620
# Use `require::` to override require's from {common,site}/packages.yaml,
@@ -44,7 +28,6 @@
4428
cdo:
4529
require:
4630
- 'grib2=none' # avoids eccodes/grib-api dependency
47-
- '%intel'
4831
- any_of: ["@2.2.2"]
4932
5033
message: "2.3.0 is the last version to use C++17"
@@ -72,13 +55,13 @@
7255
- snapshot=none # make sure spack-stack doesn't accidentally give us a beta snapshot
7356
- '~python'
7457
flex:
75-
require: '@2.6.4'
76-
gcc-runtime:
77-
require: '%gcc'
58+
require: ['@2.6.4']
7859
gdal:
7960
variants: ~curl
8061
gettext:
81-
version: ['0.19.7']
62+
require:
63+
- any_of: ['@0.19.7']
64+
8265
git-lfs:
8366
require: '%gcc'
8467
glib:
@@ -88,37 +71,47 @@
8871
gsibec:
8972
require::
9073
- '@1.2.1 ~mkl'
91-
harfbuzz:
92-
require: '%gcc'
74+
icu4c:
75+
require: ['%gcc']
9376
libffi:
94-
require: '@3.3'
77+
require:
78+
- any_of: ['@3.3']
79+
when: '%intel'
9580
libunistring:
96-
require: '@:1.0'
81+
require:
82+
- any_of: ['@:1.0']
83+
when: '%intel'
9784
mapl:
9885
require:
9986
- ~pflogger ~fargparse ~extdata2g # minimize dependencies
10087
netcdf-c:
10188
'require:': +mpi ~parallel-netcdf ~dap ~blosc ~szip build_system=autotools # disabling dap prevents network access; disabling blosc and szip reduces dependencies
10289
patchelf:
103-
version: ['0.13.1']
90+
require:
91+
- any_of: ['@0.13.1']
92+
when: '%intel'
10493
py-cython::
105-
require: '@0.29.36'
106-
py-numpy:
107-
require::
108-
- '^[virtuals=lapack,blas] openblas'
109-
- '@:1.25'
110-
- any_of: ['@:1.24']
111-
when: '%intel@:19'
94+
require:
95+
- any_of: ['@0.29.36']
96+
when: '%intel'
11297
py-pandas:
11398
'require:': ~excel # minimize dependencies
11499
py-scipy:
115100
require:
116101
- any_of: ["@1.10.1"]
117102
when: '%intel@:19'
118103
py-setuptools:
119-
require: '@63.4.3' # avoid duplicate build deps
104+
require: ['@63.4.3'] # avoid duplicate build deps
120105
rhash:
121-
version: ['1.3.5']
106+
require:
107+
- any_of: ['@1.3.5']
108+
when: '%intel'
122109
subversion:
123110
require:
124111
- ~serf +pic # avoid serf dependency
112+
zlib-ng:
113+
require: ['+compat ~new_strategies']
114+
crtm:
115+
require: ['@2.4.0.1 +fix']
116+
scotch:
117+
require:: ['@7.0.7 +mpi+metis~shared~threads~mpi_thread+noarch+esmumps build_system=cmake']
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
packages:
2+
#
3+
### Set compilers & MPI provider for metamodule generation.
4+
#
5+
all:
6+
compiler:: [[email protected]]
7+
providers:
8+
mpi:: [cray-mpich]
9+
#
10+
### External packages.
11+
#
12+
cray-mpich:
13+
externals:
14+
- spec: [email protected]~wrappers
15+
modules:
16+
- libfabric
17+
- craype-network-ofi
18+
- cray-mpich/8.1.9
19+
#
20+
### Set GCC version.
21+
#
22+
gcc-runtime:
23+
require: ['%[email protected]']
24+
#
25+
### Package settings.
26+
#
27+
harfbuzz:
28+
require: ['%gcc']
29+
ecflow:
30+
require::
31+
- '@5.11.4'
32+
- '+ui'
33+
- 'cflags="-no-ipo" cxxflags="-no-ipo"'
34+
- '^boost %gcc'
35+
- '%intel'
36+
py-numpy::
37+
require::
38+
- '^[virtuals=lapack,blas] openblas'
39+
- '@1.26'
40+
- '%gcc'
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
packages:
2+
#
3+
### Set compilers & MPI provider for metamodule generation.
4+
#
5+
all:
6+
compiler:: [[email protected]]
7+
providers:
8+
mpi:: [cray-mpich]
9+
gcc-runtime:
10+
require: '%[email protected]'
11+
cray-mpich:
12+
externals:
13+
- spec: [email protected]~wrappers
14+
modules:
15+
- libfabric
16+
- craype-network-ofi
17+
- cray-mpich/8.1.29
18+
- cray-pals
19+
bison:
20+
require: ['%gcc']
21+
cairo:
22+
require: ['+fc']
23+
ectrans:
24+
require::
25+
- '@1.2.0 ~mkl +fftw'
26+
elfutils:
27+
require: ['@0.191']
28+
gsibec:
29+
require::
30+
- '@1.2.1 ~mkl'
31+
subversion:
32+
require: ['%gcc']
33+
cmake:
34+
require: ['%gcc']
35+
proj:
36+
require: ['@9.4.1']
37+
libtiff:
38+
require: ['build_system=cmake']
39+
ninja:
40+
require: ['~re2c %gcc']
41+
pixman:
42+
require: ['build_system=meson']
43+
apr:
44+
require: ['@:1.6', '%gcc']
45+
glib:
46+
require: ['%gcc']
47+
zlib-ng:
48+
require: ['cflags="-static-intel"', 'cxxflags="-static-intel"']
49+
py-numpy::
50+
require::
51+
- '^[virtuals=lapack,blas] openblas'
52+
- '@1.26'

configs/templates/nco/spack.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ spack:
1414
specs:
1515
- awscli
1616
- bacio
17-
- boost %intel
17+
- boost
1818
- bufr
1919
- cdo
2020
- cfitsio
2121
- cmake
22-
- crtm
22+
- crtm@=2.4.0.1
2323
- curl
24-
- ecflow ^boost%gcc
24+
- ecflow
2525
- eckit
2626
- ecmwf-atlas
2727
- eigen
28-
- esmf
28+
- esmf@8.8.0
2929
- fckit
3030
- fms
3131
- g2
@@ -53,7 +53,7 @@ spack:
5353
- libxml2
5454
- libxrender
5555
- madis
56-
- mapl
56+
- mapl@2.53.4 ^[email protected]
5757
- mbedtls
5858
- met
5959
- metis

0 commit comments

Comments
 (0)