Skip to content

Commit

Permalink
release/1.5.1: Update site configs for Derecho, Narwhal, Gaea C5, Dis…
Browse files Browse the repository at this point in the history
…cover, AWS ParallelCluster, S4 (#853)

* Update site config for Derecho
* Update documentation for spack-stack-1.5.1 install on AWS ParallelCluster
* Turn of ssl variant for Python for Derecho, Gaea C5, Narwhal
* Add explicit variant external-xdr for hdf in configs/common/packages.yaml
* Update doc/source/PreConfiguredSites.rst for Discover
* Update documentation for spack-stack-1.5.1 on S4
  • Loading branch information
climbfuji authored Nov 1, 2023
1 parent 03675e3 commit d1e55f7
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 78 deletions.
4 changes: 3 additions & 1 deletion configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@
version: ['0.37.0']
hdf:
version: ['4.2.15']
variants: ~fortran ~netcdf
variants: +external-xdr ~fortran ~netcdf
hdf5:
version: ['1.14.0']
variants: +hl +fortran +mpi ~threadsafe +szip
Expand Down Expand Up @@ -207,6 +207,8 @@
proj:
version: ['8.1.0']
variants: ~tiff
# Check site configs for the following systems when making changes here:
# Derecho, Narwhal, Gaea-C5
python:
version: ['3.10.8']
py-attrs:
Expand Down
10 changes: 4 additions & 6 deletions configs/sites/derecho/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,13 @@ compilers::
operating_system: sles15
target: x86_64
modules:
- ncarenv/23.06
- intel/2023.2.1
- ncarenv/23.09
- intel-classic/2023.2.1
environment:
prepend_path:
PATH: '/opt/cray/pe/gcc/12.2.0/bin'
CPATH: '/opt/cray/pe/gcc/12.2.0/snos/include'
LD_LIBRARY_PATH: '/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin:/opt/cray/pe/gcc/default/snos/lib:/opt/cray/pe/gcc/default/snos/lib64'
set:
CRAYPE_LINK_TYPE: 'dynamic'
LD_LIBRARY_PATH: '/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin:/opt/cray/pe/gcc/12.2.0/snos/lib:/opt/cray/pe/gcc/12.2.0/lib64'
extra_rpaths: []
- compiler:
spec: gcc@12.2.0
Expand All @@ -31,7 +29,7 @@ compilers::
operating_system: sles15
target: x86_64
modules:
- ncarenv/23.06
- ncarenv/23.09
- gcc/12.2.0
environment:
set:
Expand Down
42 changes: 23 additions & 19 deletions configs/sites/derecho/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@ packages:
all:
compiler:: [intel@2021.10.0, gcc@12.2.0]
providers:
mpi:: [cray-mpich@8.1.25] # intel-oneapi-mpi@2021.8.0,
mpi:: [cray-mpich@8.1.25] # intel-oneapi-mpi@2021.10.0,
target: [core2]

### MPI, Python, MKL
mpi:
buildable: False
#intel-oneapi-mpi:
# externals:
# - spec: intel-oneapi-mpi@2021.8.0%intel@2021.8.0
# prefix: /glade/u/apps/derecho/23.06/spack/opt/spack/intel-oneapi-mpi/2021.8.0/oneapi/2023.0.0/mhf4
# - spec: intel-oneapi-mpi@2021.10.0%intel@2021.10.0
# prefix: /glade/u/apps/derecho/23.09/spack/opt/spack/intel-oneapi-mpi/2021.10.0/oneapi/2023.2.1/ve6v
# modules:
# - intel-mpi/2021.8.0
# - intel-mpi/2021.10.0
cray-mpich:
externals:
- spec: cray-mpich@8.1.25%intel@2021.10.0 +wrappers
prefix: /opt/cray/pe/mpich/8.1.25/ofi/intel/19.0
#prefix: /opt/cray/pe/mpich/8.1.25/ofi/intel/19.0
modules:
- craype/2.7.20
- cray-mpich/8.1.25
- libfabric/1.15.2.0
- cray-pals/1.2.11
- spec: cray-mpich@8.1.25%gcc@12.2.0 +wrappers
prefix: /opt/cray/pe/mpich/8.1.25/ofi/gnu/9.1
#prefix: /opt/cray/pe/mpich/8.1.25/ofi/gnu/9.1
modules:
- craype/2.7.20
- cray-mpich/8.1.25
Expand All @@ -34,18 +34,22 @@ packages:
### Modification of common packages
esmf:
variants: ~xerces ~pnetcdf snapshot=none ~shared +external-parallelio esmf_os=Linux esmf_comm=mpich
# Until problems with OS openssh and spack openssl are resolved,
# also use openssl from OS and turn off ssl variant for python
python:
variants: ~ssl

### All other external packages listed alphabetically
autoconf:
externals:
- spec: autoconf@2.71
prefix: /glade/u/apps/derecho/23.06/opt
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: autoconf@2.69
prefix: /usr
automake:
externals:
- spec: automake@1.16.5
prefix: /glade/u/apps/derecho/23.06/opt
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: automake@1.15.1
prefix: /usr
binutils:
Expand All @@ -62,8 +66,8 @@ packages:
prefix: /usr
curl:
externals:
- spec: curl@8.0.1+nghttp2
prefix: /glade/u/apps/derecho/23.06/opt
- spec: curl@8.1.2+nghttp2
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: curl@7.79.1+gssapi+ldap+nghttp2
prefix: /usr
cvs:
Expand All @@ -88,21 +92,21 @@ packages:
flex:
externals:
- spec: flex@2.6.4+lex
prefix: /glade/u/apps/derecho/23.06/opt
prefix: /glade/u/apps/derecho/23.09/opt/view
gawk:
externals:
- spec: gawk@4.2.1
prefix: /usr
git:
externals:
- spec: git@2.40.0~tcltk
prefix: /glade/u/apps/derecho/23.06/opt
- spec: git@2.41.0+tcltk
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: git@2.35.3+tcltk
prefix: /usr
git-lfs:
externals:
- spec: git-lfs@3.3.0
prefix: /glade/u/apps/derecho/23.06/opt
prefix: /glade/u/apps/derecho/23.09/opt/view
gmake:
externals:
- spec: gmake@4.2.1
Expand All @@ -118,7 +122,7 @@ packages:
libtool:
externals:
- spec: libtool@2.4.7
prefix: /glade/u/apps/derecho/23.06/opt
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: libtool@2.4.6
prefix: /usr
m4:
Expand All @@ -128,8 +132,8 @@ packages:
# Automatically detected, but don't use - missing "ninja" dependency
#meson:
# externals:
# - spec: meson@1.1.0
# prefix: /glade/u/apps/derecho/23.06/opt
# - spec: meson@1.2.0
# prefix: /glade/u/apps/derecho/23.09/opt/view
mysql:
buildable: False
externals:
Expand Down Expand Up @@ -158,8 +162,8 @@ packages:
prefix: /usr
texinfo:
externals:
- spec: texinfo@7.0
prefix: /glade/u/apps/derecho/23.06/opt
- spec: texinfo@7.0.3
prefix: /glade/u/apps/derecho/23.09/opt/view
- spec: texinfo@6.5
prefix: /usr
wget:
Expand Down
6 changes: 6 additions & 0 deletions configs/sites/gaea-c5/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ packages:
- craype-network-ofi
- cray-mpich/8.1.25

### Modification of common packages
# Until problems with OS openssh and spack openssl are resolved,
# also use openssl from OS and turn off ssl variant for python
python:
variants: ~ssl

### All other external packages listed alphabetically
autoconf:
externals:
Expand Down
6 changes: 6 additions & 0 deletions configs/sites/narwhal/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ packages:
# modules:
# - intel/2021.3.0

### Modification of common packages
# Until problems with OS openssh and spack openssl are resolved,
# also use openssl from OS and turn off ssl variant for python
python:
variants: ~ssl

### All other external packages listed alphabetically
autoconf:
externals:
Expand Down
7 changes: 2 additions & 5 deletions doc/source/MaintainersSection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -540,14 +540,11 @@ openmpi
NCAR-Wyoming Derecho
------------------------------

intel (temporary)
Until CISL makes the newest Intel compilers available in the default module tree, create directory ``/lustre/desc1/scratch/epicufsrt/contrib/modulefiles_extra/intel`` and copy ``/glade/work/csgteam/spack-deployments/derecho/23.06/envs/build/modules/23.06/Core/intel/2023.2.1.lua`` to this directory. Edit the file and remove the block of lines starting with ``-- Find custom moduleroots`` and ending with ``append_path("MODULEPATH", "/glade/work/csgteam/spack-deployments/derecho/23.06/envs/build/modules/23.06/oneapi/2023.2.1")``. Further, replace ``icx`` with ``icc`` and ``icpx`` with ``icpc`` and correct the path in environment variables ``CC``, ``CXX``, etc.

libfabric (temporary)
Until CISL makes the newest Intel compilers available in the default module tree, it is necessary to create a libfabrics module to be able to use the cray-mpich MPI library without Cray compiler wrappers. Create directory ``/lustre/desc1/scratch/epicufsrt/contrib/modulefiles_extra/libfabric`` and create a module file based on the template ``doc/modulefile_templates/libfabric``. This module is currently listed in the dependency modules for the ``cray-mpich`` MPI provider in the Derecho site config. It is also necessary to "include" (a confusing term, it used to be "whitelist") the ``cray-mpich`` module in Derecho's ``modules.yaml`` file, because the CISL ``cray-mpich`` module cannot be loaded without loading their compiler modules (yes, they tend to make things difficult).
Until CISL fixes its unusual way of setting up Cray module environments, it is necessary to create a libfabrics module to be able to use the cray-mpich MPI library without Cray compiler wrappers. Create a module file based on the template ``doc/modulefile_templates/libfabric`` in directory ``/glade/work/epicufsrt/contrib/spack-stack/derecho/libfabric``. This module is currently listed in the dependency modules for the ``cray-mpich`` MPI provider in the Derecho site config. It is also necessary to "include" (a confusing term, it used to be "whitelist") the ``cray-mpich`` module in Derecho's ``modules.yaml`` file, because the CISL ``cray-mpich`` module cannot be loaded without loading their compiler modules.

cray-pals (temporary)
Until CISL fixes its unusual way of setting up Cray module environments, it is necessary to create a cray-pals (parallel application launcher) module to be able to find ``mpirun`` etc. Create directory ``/lustre/desc1/scratch/epicufsrt/contrib/modulefiles_extra/cray-pals`` and copy file ``/opt/cray/pe/lmod/modulefiles/core/cray-pals/1.2.11.lua`` into this directory.
Until CISL fixes its unusual way of setting up Cray module environments, it is necessary to create a cray-pals (parallel application launcher) module to be able to find ``mpirun`` etc. Create directory ``/glade/work/epicufsrt/contrib/spack-stack/derecho/cray-pals`` and copy file ``/opt/cray/pe/lmod/modulefiles/core/cray-pals/1.2.11.lua`` into this directory.

ecflow
``ecFlow`` must be built manually using the GNU compilers and linked against a static ``boost`` library. After loading the following modules, follow the instructions in :numref:`Section %s <MaintainersSection_ecFlow>` to install ``ecflow``. Be sure to follow the extra instructions for Derecho in that section.
Expand Down
Loading

0 comments on commit d1e55f7

Please sign in to comment.