2 Commits

Author SHA1 Message Date
9d12afb089 ADD: gcc@12.3.0 in unstable env 2024-06-11 08:32:43 +02:00
2968224eab FIX: gettext not buildable with system gcc 2024-06-10 17:27:50 +02:00
50 changed files with 240 additions and 1897 deletions

278
README.md
View File

@ -2,260 +2,68 @@
[Official Spack documentation](https://spack.readthedocs.io/en/latest/) [Official Spack documentation](https://spack.readthedocs.io/en/latest/)
## How to use on Merlin systems (Merlin6/Merlin7) ## How to use on Merlin7
Load the spack module ### Install your own software
```bash
# Check if your package is already in Spack
user@login001:~> spack list $pkg_name # e.g opal
```shell # Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
[stable] user@login001:~> module load spack user@login001:~> spack info $pkg_name # e.g opal
# Check the whole dependency tree of your spec and
# if you don't need to set more variants
user@login001:~> spack spec $pkg_name@version +variant1 ^dep1@version ...
# e.g spack spec opal@2022.1%gcc@7.5.0 +mithra ~python ^openmpi@4.1.6 ^openblas
# Install your package
user@login001:~> spack install $pkg_name@version +variant1 ^dep1@version1
# Load your package
user@login001:~> spack load $pkg_name@version +variant1 ^dep1@version1
# Submit your script
user@login001:~> sbatch batch.script
``` ```
Voilà you're done you can use Spack! :) ### Develop your own software
```bash
# Check if your package is already in Spack
user@login001:~> spack list $pkg_name # e.g opal
+ Side note: the default software stack loaded for you is stable, which might not contain all the packages you're looking for, </br> # Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
so if you want to use the unstable software stack switch to it using: user@login001:~> spack info $pkg_name # e.g opal
```shell # Create your own env and load it
spack env activate -p unstable user@login001:~> spack env activate --create -p myenv
```
## Find out what's already installed # Add the spec you want to build to your environement
user@login001:~> spack add $pkg_name@version +variant1 ^dep1@version ...
```shell # e.g spack add opal@master%gcc@7.5.0 +mithra ~python ^openmpi@4.1.6 ^openblas
[unstable] user@login001:~> spack find
==> In environment unstable
==> 1 root specs
- []
==> Included specs # Tell Spack you want to develop locally under
-- no arch / gcc ------------------------------------------------ # /afs/psi.ch/sys/spack.x86_64_cos3.0/user/$USER/spack-environment/$pkg_name
gromacs%gcc user@login001:~> spack develop $pkg_name@version
-- no arch / gcc@12.3.0 ----------------------------------------- # Install the package locally
cp2k@2024.1%gcc@12.3.0 opal@master%gcc@12.3.0 py-alphafold@2.3.2%gcc@12.3.0 user@login001:~> spack install # first time, then you can just use make directly
cp2k@2024.1%gcc@12.3.0 py-alphafold@2.3.2%gcc@12.3.0 quantum-espresso@7.3.1%gcc@12.3.0
-- no arch / oneapi@2024.1.0 ------------------------------------ # Load your package
gromacs@2024.1%oneapi@2024.1.0 user@login001:~> spack load $pkg_name@version +variant1 ^dep1@version1
==> Installed packages # Submit your script
-- linux-rhel7-x86_64 / gcc@4.8.5 ------------------------------- user@login001:~> sbatch batch.script
autoconf@2.72 curl@8.7.1 gdbm@1.23 libffi@3.4.6 mpfr@4.2.1 pkg-config@0.29.2 readline@8.2
autoconf@2.72 diffutils@3.10 gettext@0.19.8.1 libidn2@2.3.7 mpfr@4.2.1 pkg-config@0.29.2 sqlite@3.43.2
autoconf-archive@2023.02.20 diffutils@3.10 gettext@0.19.8.1 libmd@1.0.4 ncurses@6.5 py-fypp@3.1 texinfo@7.0.3
autoconf-archive@2023.02.20 expat@2.6.2 git@2.42.0 libpciaccess@0.17 ncurses@6.5 py-fypp@3.1 util-linux-uuid@2.36.2
automake@1.16.5 findutils@4.9.0 glibc@2.17 libsigsegv@2.14 nghttp2@1.57.0 py-pip@23.1.2 util-macros@1.19.3
automake@1.16.5 findutils@4.9.0 glibc@2.17 libsigsegv@2.14 ninja@1.11.1 py-setuptools@59.4.0 xz@5.4.6
berkeley-db@18.1.40 flex@2.6.3 gmake@4.4.1 libtool@2.4.7 numactl@2.0.14 py-wheel@0.41.2 zlib-ng@2.1.6
berkeley-db@18.1.40 gawk@5.3.0 gmake@4.4.1 libunistring@1.2 nvhpc@24.3 python@3.8.18 zlib-ng@2.1.6
binutils@2.42 gawk@5.3.0 gmp@6.2.1 libxcrypt@4.4.35 openssh@9.7p1 python@3.9.18 zstd@1.5.6
binutils@2.42 gcc@12.3.0 gmp@6.2.1 libxml2@2.10.3 openssl@3.3.0 python@3.11.7 zstd@1.5.6
binutils@2.42 gcc@12.3.0 krb5@1.20.1 m4@1.4.19 openssl@3.3.0 python-venv@1.0
bison@3.8.2 gcc-runtime@4.8.5 libbsd@0.12.1 m4@1.4.19 pcre2@10.43 python-venv@1.0
bzip2@1.0.8 gcc-runtime@4.8.5 libedit@3.1-20230828 mpc@1.3.1 perl@5.38.0 re2c@2.2
bzip2@1.0.8 gdbm@1.23 libevent@2.1.12 mpc@1.3.1 perl@5.38.0 readline@8.2
-- linux-rhel7-x86_64 / gcc@12.3.0 ------------------------------
abseil-cpp@20240116.2 libogg@1.3.5 py-beniget@0.3.0 py-ml-collections@0.1.0 py-tabulate@0.8.9
amrex@18.07 libpng@1.6.39 py-biopython@1.79 py-networkx@2.7.1 py-tensorboard@2.11.2
aria2@1.37.0 libssh2@1.11.0 py-bottleneck@1.3.2 py-numexpr@2.8.4 py-tensorboard-data-server@0.6.1
boost@1.85.0 libtheora@1.1.1 py-cachetools@5.2.0 py-numpy@1.17.5 py-tensorboard-plugin-wit@1.8.1
boost@1.85.0 libxc@6.2.2 py-certifi@2023.7.22 py-numpy@1.21.6 py-tensorflow@2.11.0
c-ares@1.27.0 libxsmm@1.17 py-charset-normalizer@3.3.0 py-oauthlib@3.2.2 py-termcolor@1.1.0
cmake@3.27.9 libyaml@0.2.5 py-chex@0.0.7 py-opt-einsum@3.3.0 py-tomli@2.0.1
cp2k@2024.1 llvm@16.0.6 py-contextlib2@21.6.0 py-packaging@23.1 py-toolz@0.12.0
cp2k@2024.1 lua@5.3.6 py-cython@0.29.36 py-pandas@1.3.4 py-typing-extensions@4.8.0
cuda@12.4.0 lz4@1.9.4 py-decorator@5.1.1 py-pdbfixer@1.7 py-urllib3@1.26.12
fftw@3.3.10 mesa-glu@9.0.2 py-dm-haiku@0.0.9 py-pip@23.0 py-websocket-client@1.6.3
fftw@3.3.10 mesa18@18.3.6 py-dm-tree@0.1.6 py-pip@23.1.2 py-werkzeug@2.0.2
freetype@2.10.2 metis@5.1.0 py-docker@5.0.3 py-ply@3.11 py-wheel@0.37.1
gcc-runtime@12.3.0 mithra@2.0 py-etils@0.9.0 py-poetry-core@1.8.1 py-wheel@0.41.2
gcc-runtime@12.3.0 netlib-scalapack@2.2.0 py-flatbuffers@23.5.26 py-protobuf@3.19.4 py-wrapt@1.15.0
gettext@0.19.8.1 opal@master py-flit-core@3.9.0 py-pyasn1@0.4.8 py-zipp@3.17.0
gl2ps@1.4.2 openblas@0.3.25 py-gast@0.4.0 py-pyasn1-modules@0.2.8 python@3.8.18
googletest@1.12.1 openblas@0.3.26 py-google-auth@2.27.0 py-pybind11@2.12.0 python@3.11.7
gsl@2.7.1 openblas@0.3.26 py-google-auth-oauthlib@0.4.6 py-pytest-runner@6.0.0 python-venv@1.0
h5hut@2.0.0rc6 openjdk@11.0.20.1_1 py-google-pasta@0.2.0 py-python-dateutil@2.8.2 python-venv@1.0
hdf5@1.12.3 openmm@7.5.1 py-grpcio@1.60.1 py-pythran@0.9.11 quantum-espresso@7.3.1
hdf5@1.14.3 openmpi@4.1.6 py-h5py@3.11.0 py-pytz@2023.3 re2@2023-09-01
hdf5@1.14.3 openmpi@4.1.6 py-idna@3.4 py-pyyaml@6.0 rust-bootstrap@1.78.0
hh-suite@3.3.0 osmesa@11.2.0 py-immutabledict@2.2.1 py-requests@2.31.0 slurm@23-11-0-1
hmmer@3.4 parmetis@4.0.3 py-importlib-resources@5.12.0 py-requests-oauthlib@1.3.1 swig@4.1.1
hwloc@2.9.1 pcre@8.45 py-jax@0.3.25 py-rsa@4.9 trilinos@13.4.0
jsoncpp@1.9.5 perl-data-dumper@2.173 py-jaxlib@0.3.25 py-scipy@1.7.0 unzip@6.0
kalign@3.4.0 protobuf@3.19.4 py-jmp@0.0.2 py-setuptools@57.4.0 zip@3.0
libgcrypt@1.10.3 py-absl-py@1.0.0 py-libclang@16.0.0 py-setuptools@69.2.0
libgpg-error@1.49 py-alphafold@2.3.2 py-mako@1.2.4 py-setuptools@69.2.0
libint@2.6.0 py-alphafold@2.3.2 py-markdown@3.3.4 py-setuptools-scm@8.0.4
libjpeg@9f py-astunparse@1.6.3 py-markupsafe@2.1.3 py-six@1.16.0
-- linux-rhel7-x86_64 / oneapi@2024.1.0 -------------------------
gromacs@2024.1 hwloc@2.9.1 intel-oneapi-mkl@2024.0.0 intel-oneapi-runtime@2024.1.0 intel-tbb@2021.9.0 openmpi@4.1.6 slurm@23-11-0-1
==> 257 installed packages
```
The included specs and installed packages sections shows you all the packages that are pre-installed for you. </br>
In case of a package having multiple installations, the following command helps you to find out which software you're interested about. </br>
For example let's say you are interested in py-alphafold but only in the gpu version; do:
``` ```
[unstable] user@login001:~> spack find -vl py-alphafold
==> In environment unstable
==> 1 root specs
- dpjaszc visit
==> Included specs
-- no arch / gcc ------------------------------------------------
------- gromacs%gcc
-- no arch / gcc@12.3.0 -----------------------------------------
------- cp2k@2024.1%gcc@12.3.0 ------- opal@master%gcc@12.3.0 ------- py-alphafold@2.3.2%gcc@12.3.0
------- cp2k@2024.1%gcc@12.3.0 ------- py-alphafold@2.3.2%gcc@12.3.0 ------- quantum-espresso@7.3.1%gcc@12.3.0
-- no arch / oneapi@2024.1.0 ------------------------------------
------- gromacs@2024.1%oneapi@2024.1.0
==> Installed packages
-- linux-rhel7-x86_64 / gcc@12.3.0 ------------------------------
rrfdppp py-alphafold@2.3.2~cuda build_system=python_pip tqziprv py-alphafold@2.3.2+cuda build_system=python_pip cuda_arch=60
==> 2 installed packages
```
As you can see there are two installation of py-alphafold, one with +cuda and one without. </br>
In this particular example, there is only one variant that interests you, so you can do:
``` shell
spack load py-alphafold +cuda
```
However if multiple variants are interesting to you and you don't want to have to cite all of them you can do:
``` shell
spack load /tqziprv # refer to the installation with its hash directly.
```
## Install your own software
1. Check if your package is already implemented in Spack. <br/>
You can also use the following website: https://packages.spack.io/
```shell
spack list $pkg_name # e.g opal
```
2. Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
```shell
spack info $pkg_name # e.g opal
```
3. Add your package to your personal environment
```shell
spack add $pkg_name@version +variant1 ^dep1@version1
```
+ If you want to install from local source clone your source under <br/>
/afs/psi.ch/sys/spack/user/$USER/spack-environment/$pkg_name <br/>
and tell Spack you want to use it using:
```shell
spack develop $pkg_name@version # Skip this if you don't want to develop from local source
```
4. Check the whole dependency tree of your spec and <br/>
if you don't need to set more variants
```shell
spack concretize
```
5. Install the packages in your environment
```shell
spack install # -v for verbose
```
6. Load your package
```shell
spack load $pkg_name@version +variant1 ^dep1@version1
```
7. Submit your script
```shell
sbatch batch.script
```
## Switching between environments
There are two environment available to users; stable and unstable. <br/>
The first one is loaded by default when loading the module. <br/>
If you want to switch between the two and use different software stack you can use the following command:
```shell
spack env activate -p unstable # or stable
```
## Managing your environments
When adding the following command you actually add a package to your own software stack;
```shell
spack add $pkg_name@version +variant1 ^dep1@version1
```
You can check which package will be concretized and are in your environment using;
```shell
[unstable] user@login001:~> spack find
==> In environment unstable
==> 1 root specs
- visit ~adios2+vtkm+gui
==> Included specs
-- no arch / gcc ------------------------------------------------
gromacs%gcc
-- no arch / gcc@12.3.0 -----------------------------------------
cp2k@2024.1%gcc@12.3.0 opal@master%gcc@12.3.0 py-alphafold@2.3.2%gcc@12.3.0
cp2k@2024.1%gcc@12.3.0 py-alphafold@2.3.2%gcc@12.3.0 quantum-espresso@7.3.1%gcc@12.3.0
-- no arch / oneapi@2024.1.0 ------------------------------------
gromacs@2024.1%oneapi@2024.1.0
==> Installed packages
...
==> 257 installed packages
```
The root spec is the specs that are personal to you and that will be concretized and installed. <br/>
The installed packages are either packages that were previously installed by admins or packages that you already installed but that are not root. <br/>
If you want to remove this package from your personal env, you can use the following command: <br/>
```shell
spack rm $pkg_name@version +variant1 ^dep1@version1
```
or
```shell
[stable] user@login001:~> spack config edit
spack:
...
specs:
-- - visit~adios2+gui+vtkm ^harfbuzz%gcc@12.3.0
++ []
...
```
and remove it manually from the spec list.
## How to use on other systems ## How to use on other systems
### Install Spack ### Install Spack
```shell ```bash
user@supersystem:~> cd /scratch/$USER user@supersystem:~> cd /scratch/$USER
user@supersystem:~> git clone -c feature.manyFiles=true https://github.com/spack/spack.git user@supersystem:~> git clone -c feature.manyFiles=true https://github.com/spack/spack.git

File diff suppressed because one or more lines are too long

View File

@ -1,35 +1,20 @@
---
spack: spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/stable root: $spack/opt/spack/stable
definitions: include_concrete:
- compilers: - $spack/spack-psi/env/$os/$target_family/admin/unstable
- gcc@=12.3.0
- intel-oneapi-compilers@=2024.1.0
- gcc_4.8.5:
- fpart@1.6.0/lcygtky
- gcc_12.3.0_openmpi:
- opal@master/l4dkgyf
include: include:
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_stable: file:///afs/psi.ch/software/spack/stable
modules: local_unstable: file:///afs/psi.ch/software/spack/unstable
default: specs: []
roots:
tcl: $spack/opt/spack/stable/modulefiles
specs:
- matrix:
- [$compilers]
- ['%gcc@4.8.5']
- matrix:
- [$gcc_4.8.5]
- ['%gcc@4.8.5']
- matrix:
- [$gcc_12.3.0_openmpi]
- [^openmpi%gcc]
- ['%gcc@12.3.0']
view: false view: false

View File

@ -3,18 +3,22 @@ spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/testing root: $spack/opt/spack/testing
# Strongly adviced to avoid problems with buildcaches upstreams:
padded_length: 256 spack-instance-1:
install_tree: $spack/opt/spack/stable
spack-instance-2:
install_tree: $spack/opt/spack/unstable
include: include:
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_unstable: file:///afs/psi.ch/software/spack/unstable
modules: local_testing: file:///afs/psi.ch/software/spack/testing
default: specs:
roots: - gcc@12.3.0
tcl: $spack/opt/spack/testing/modulefiles
specs: []
view: false view: false

File diff suppressed because one or more lines are too long

View File

@ -3,42 +3,23 @@ spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/unstable root: $spack/opt/spack/unstable
definitions: upstreams:
- gcc_12.3.0: spack-instance-1:
- cellranger@8.0.1/6h63gx install_tree: $spack/opt/spack/stable
- fastqc@0.12.1/dkkcfu5 include_concrete:
- ffbidx@main/vyjua6z - $spack/spack-psi/env/$os/$target_family/admin/testing
- sratoolkit@3.1.1/2szh2jy
- star@2.7.11a/icumpki
- gcc_12.3.0_openmpi:
- cp2k@2024.1/2bayb45 # ~cuda
- cp2k@2024.1/exkrpix # +cuda
- quantum-espresso@7.3.1/yuxkoz2 # hdf5=parallel
- py-alphafold@2.3.2/rrfdppp # ~cuda
- py-alphafold@2.3.2/tqziprv # +cuda
- oneapi_2024.1.0_openmpi:
- gromacs@2024.1/pi5t2pp # ~cuda
include: include:
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_stable: file:///afs/psi.ch/software/spack/stable
modules: local_unstable: file:///afs/psi.ch/software/spack/unstable
default: local_testing: file:///afs/psi.ch/software/spack/testing
roots:
tcl: $spack/opt/spack/unstable/modulefiles
specs: specs:
- matrix: - gcc@12.3.0
- [$gcc_12.3.0]
- ['%gcc@12.3.0']
- matrix:
- [$gcc_12.3.0_openmpi]
- [^openmpi%gcc]
- ['%gcc@12.3.0']
- matrix:
- [$oneapi_2024.1.0_openmpi]
- [^openmpi%oneapi]
- ['%oneapi@2024.1.0']
view: false view: false

View File

@ -12,29 +12,3 @@ compilers:
fc: /usr/bin/gfortran fc: /usr/bin/gfortran
spec: gcc@4.8.5 spec: gcc@4.8.5
target: x86_64 target: x86_64
- compiler:
spec: gcc@=12.3.0
paths:
cc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/gcc-12.3.0-zpn75bqd4uuxamtoonk5tkiproitfqpt/bin/gcc
cxx: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/gcc-12.3.0-zpn75bqd4uuxamtoonk5tkiproitfqpt/bin/g++
f77: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/gcc-12.3.0-zpn75bqd4uuxamtoonk5tkiproitfqpt/bin/gfortran
fc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/gcc-12.3.0-zpn75bqd4uuxamtoonk5tkiproitfqpt/bin/gfortran
flags: {}
operating_system: rhel7
target: x86_64
modules: []
environment: {}
extra_rpaths: []
- compiler:
spec: oneapi@=2024.1.0
paths:
cc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/intel-oneapi-compilers-2024.1.0-4xhusak77uwpnggnimldlea4qydtzxy7/compiler/2024.1/bin/icx
cxx: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/intel-oneapi-compilers-2024.1.0-4xhusak77uwpnggnimldlea4qydtzxy7/compiler/2024.1/bin/icpx
f77: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/intel-oneapi-compilers-2024.1.0-4xhusak77uwpnggnimldlea4qydtzxy7/compiler/2024.1/bin/ifx
fc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-rhel7-x86_64/gcc-4.8.5/intel-oneapi-compilers-2024.1.0-4xhusak77uwpnggnimldlea4qydtzxy7/compiler/2024.1/bin/ifx
flags: {}
operating_system: rhel7
target: x86_64
modules: []
environment: {}
extra_rpaths: []

View File

@ -1,19 +1,12 @@
--- ---
packages: packages:
all: all:
compiler: [gcc@=12.3.0, gcc@4.8.5, oneapi, nvhpc] compiler: [gcc@4.8.5, nvhpc]
prefer:
- spec: '^openmpi'
providers: providers:
blas: [openblas, intel-oneapi-mkl, nvhpc] blas: [openblas, nvhpc]
lapack: [openblas, intel-oneapi-mkl, nvhpc] lapack: [openblas, nvhpc]
mpi: [openmpi, mpich, intel-oneapi-mpi] mpi: [openmpi]
pkgconfig: [pkg-config] pkgconfig: [pkg-config]
require:
- spec: 'target=sandybridge'
when: "%nvhpc"
message: "nvhpc compilers cannot target generic x86_64 microarchitecture."
- spec: "os=rhel7"
target: [x86_64] target: [x86_64]
# Default GPU arch # Default GPU arch
variants: variants:
@ -38,15 +31,10 @@ packages:
require: '%gcc' require: '%gcc'
coreutils: coreutils:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
cp2k:
require: 'build_system=makefile'
cpio: cpio:
require: '%gcc' require: '%gcc'
ctffind: ctffind:
require: '%gcc' require: '%gcc'
# Makes sure the binary works on any sytem (incl. Gwendolen)
cuda:
require: '@12.2:'
curl: curl:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
cvs: cvs:
@ -54,7 +42,7 @@ packages:
diffutils: diffutils:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
doxygen: doxygen:
require: '%gcc' require: '%gcc@4.8.5'
expat: expat:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
file: file:
@ -64,17 +52,13 @@ packages:
flex: flex:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
fltk: fltk:
require: '%gcc' require: '%gcc@4.8.5'
fontconfig: fontconfig:
require: '%gcc'
freetype:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
gams: gams:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
gawk: gawk:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
gcc:
require: '%gcc@4.8.5'
gdbm: gdbm:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
gettext: gettext:
@ -87,18 +71,14 @@ packages:
git: git:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
glew: glew:
require: '%gcc' require: '%gcc@4.8.5'
gmake: gmake:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
groff: groff:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
harfbuzz: harfbuzz:
require: '%gcc'
hcoll:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
icu4c: hcoll:
require: '@67.1%gcc@12.3.0'
intel-oneapi-compilers:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libbsd: libbsd:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
@ -129,27 +109,25 @@ packages:
libreadline: libreadline:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
librsvg: librsvg:
require: '%gcc' require: '%gcc@4.8.5'
libsigsegv: libsigsegv:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libtiff: libtiff:
require: '%gcc' require: '%gcc@4.8.5'
libtool: libtool:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libx11: libx11:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libxcb:
require: '%gcc@4.8.5'
libxext: libxext:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libxft: libxft:
require: '%gcc' require: '%gcc@4.8.5'
libxml2: libxml2:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libxpm: libxpm:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
libxt: libxt:
require: '%gcc' require: '%gcc@4.8.5'
m4: m4:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
ncurses: ncurses:
@ -160,20 +138,11 @@ packages:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
numactl: numactl:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
nvhpc:
require: '%gcc@4.8.5 install_type=network'
openblas: openblas:
require: '%gcc' require: '%gcc'
opengl:
buildable: False
externals:
- spec: opengl@1.7.0
prefix: /usr
openmpi: openmpi:
require: require:
- spec: schedulers=slurm fabrics=auto pmi-interface=pmi2 +cxx +cuda +legacylaunchers - schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers
- spec: '+cxx_exceptions'
when: '%gcc'
openssh: openssh:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
openssl: openssl:
@ -184,10 +153,10 @@ packages:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
pkg-config: pkg-config:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
py-numpy: py-fypp:
require: '%gcc@12.3.0' require: '%gcc@4.8.5'
python: python:
require: '%gcc' require: '%gcc@4.8.5'
readline: readline:
require: '%gcc@4.8.5' require: '%gcc@4.8.5'
rsync: rsync:

View File

@ -1,14 +1,17 @@
spack: spack:
concretizer: concretizer:
unify: false unify: false
include: config:
- $spack/../spack-psi/env/rhel7/x86_64/sysconfigs/packages.yaml allow_sgid: false
- $spack/../spack-psi/env/rhel7/x86_64/sysconfigs/compilers.yaml build_stage:
include_concrete: - $spack/user/$user/spack-stage
- /afs/psi.ch/sys/spack/spack-psi/env/rhel7/x86_64/admin/stable install_tree:
specs: [] root: $spack/user/$user/spack-install
upstreams: upstreams:
stable: spack-instance-1:
install_tree: >- install_tree: $spack/opt/spack/stable
$spack/opt/spack/stable include:
- $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
specs:
view: false view: false

View File

@ -1,16 +1,19 @@
spack: spack:
concretizer: concretizer:
unify: false unify: false
include: config:
- $spack/../spack-psi/env/rhel7/x86_64/sysconfigs/packages.yaml allow_sgid: false
- $spack/../spack-psi/env/rhel7/x86_64/sysconfigs/compilers.yaml build_stage:
include_concrete: - $spack/user/$user/spack-stage
- /afs/psi.ch/sys/spack/spack-psi/env/rhel7/x86_64/admin/stable install_tree:
- /afs/psi.ch/sys/spack/spack-psi/env/rhel7/x86_64/admin/unstable root: $spack/user/$user/spack-install
specs: []
upstreams: upstreams:
stable: spack-instance-1:
install_tree: $spack/opt/spack/stable install_tree: $spack/opt/spack/stable
unstable: spack-instance-2:
install_tree: $spack/opt/spack/unstable install_tree: $spack/opt/spack/unstable
include:
- $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
specs:
view: false view: false

File diff suppressed because one or more lines are too long

View File

@ -1,35 +0,0 @@
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/stable
definitions:
- compilers:
- gcc@=12.3.0
- intel-oneapi-compilers@=2024.1.0
- gcc_4.8.5:
- fpart@1.6.0/lcygtky
- gcc_12.3.0_openmpi:
- opal@master/l4dkgyf
include:
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/stable/modulefiles
specs:
- matrix:
- [$compilers]
- ['%gcc@4.8.5']
- matrix:
- [$gcc_4.8.5]
- ['%gcc@4.8.5']
- matrix:
- [$gcc_12.3.0_openmpi]
- [^openmpi%gcc]
- ['%gcc@12.3.0']
view: false

View File

@ -1,20 +0,0 @@
---
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/testing
# Strongly adviced to avoid problems with buildcaches
padded_length: 256
include:
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel7/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/testing/modulefiles
specs: []
view: false

File diff suppressed because one or more lines are too long

View File

@ -1,44 +0,0 @@
---
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/unstable
definitions:
- gcc_12.3.0:
- cellranger@8.0.1/6h63gx
- fastqc@0.12.1/dkkcfu5
- ffbidx@main/vyjua6z
- sratoolkit@3.1.1/2szh2jy
- star@2.7.11a/icumpki
- gcc_12.3.0_openmpi:
- cp2k@2024.1/2bayb45 # ~cuda
- cp2k@2024.1/exkrpix # +cuda
- quantum-espresso@7.3.1/yuxkoz2 # hdf5=parallel
- py-alphafold@2.3.2/rrfdppp # ~cuda
- py-alphafold@2.3.2/tqziprv # +cuda
- oneapi_2024.1.0_openmpi:
- gromacs@2024.1/pi5t2pp # ~cuda
include:
- $spack/../spack-psi/env/rhel8/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel8/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/unstable/modulefiles
specs:
- matrix:
- [$gcc_12.3.0]
- ['%gcc@12.3.0']
- matrix:
- [$gcc_12.3.0_openmpi]
- [^openmpi%gcc]
- ['%gcc@12.3.0']
- matrix:
- [$oneapi_2024.1.0_openmpi]
- [^openmpi%oneapi]
- ['%oneapi@2024.1.0']
view: false

View File

@ -1,14 +0,0 @@
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: rhel8
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@8.5.0
target: x86_64

View File

@ -1,224 +0,0 @@
---
packages:
all:
compiler: [gcc@8.5.0, oneapi, nvhpc]
prefer:
- spec: '^openmpi'
providers:
blas: [openblas, intel-oneapi-mkl, nvhpc]
lapack: [openblas, intel-oneapi-mkl, nvhpc]
mpi: [openmpi, mpich, intel-oneapi-mpi]
pkgconfig: [pkg-config]
require:
- spec: 'target=skylake_avx512'
when: "%nvhpc"
message: "nvhpc compilers cannot target generic x86_64 microarchitecture."
- spec: "os=rhel8"
target: [x86_64]
# Default GPU arch
variants:
- cuda_arch=60
autoconf:
require: '%gcc@8.5.0'
automake:
require: '%gcc@8.5.0'
berkeley-db:
require: '%gcc@8.5.0'
binutils:
require: '%gcc@8.5.0'
boost:
require: '%gcc'
bzip2:
require: '%gcc@8.5.0'
ca-certificates-mozilla:
require: '%gcc@8.5.0'
cairo:
require: '%gcc@8.5.0'
cmake:
require: '%gcc'
coreutils:
require: '%gcc@8.5.0'
cp2k:
require: 'build_system=makefile'
cpio:
require: '%gcc'
ctffind:
require: '%gcc'
# Makes sure the binary works on any sytem (incl. Gwendolen)
cuda:
require: '@12.2:'
curl:
require: '%gcc@8.5.0'
cvs:
require: '%gcc@8.5.0'
diffutils:
require: '%gcc@8.5.0'
doxygen:
require: '%gcc'
expat:
require: '%gcc@8.5.0'
file:
require: '%gcc@8.5.0'
findutils:
require: '%gcc@8.5.0'
flex:
require: '%gcc@8.5.0'
fltk:
require: '%gcc'
fontconfig:
require: '%gcc'
freetype:
require: '%gcc@8.5.0'
gams:
require: '%gcc@8.5.0'
gawk:
require: '%gcc@8.5.0'
gcc:
require: '%gcc@8.5.0'
gdbm:
require: '%gcc@8.5.0'
gettext:
buildable: false
externals:
- prefix: /usr
spec: gettext@0.19.8.1
ghostscript:
require: '%gcc@8.5.0'
git:
require: '%gcc@8.5.0'
glew:
require: '%gcc'
gmake:
require: '%gcc@8.5.0'
groff:
require: '%gcc@8.5.0'
harfbuzz:
require: '%gcc'
hcoll:
require: '%gcc@8.5.0'
icu4c:
require: '@67.1%gcc@12.3.0'
intel-oneapi-compilers:
require: '%gcc@8.5.0'
libbsd:
require: '%gcc@8.5.0'
libcroco:
require: '%gcc@8.5.0'
libepoxy:
require: '%gcc@8.5.0'
libevent:
require: '%gcc@8.5.0'
libfuse:
require: '%gcc@8.5.0'
libice:
require: '%gcc@8.5.0'
libiconv:
require: '%gcc@8.5.0'
libidn2:
require: '%gcc@8.5.0'
libjpeg-turbo:
require: '%gcc@8.5.0'
libmd:
require: '%gcc@8.5.0'
libpciaccess:
require: '%gcc@8.5.0'
libpthread:
require: '%gcc@8.5.0'
libpthread-stubs:
require: '%gcc@8.5.0'
libreadline:
require: '%gcc@8.5.0'
librsvg:
require: '%gcc'
libsigsegv:
require: '%gcc@8.5.0'
libtiff:
require: '%gcc'
libtool:
require: '%gcc@8.5.0'
libx11:
require: '%gcc@8.5.0'
libxcb:
require: '%gcc@8.5.0'
libxext:
require: '%gcc@8.5.0'
libxft:
require: '%gcc'
libxml2:
require: '%gcc@8.5.0'
libxpm:
require: '%gcc@8.5.0'
libxt:
require: '%gcc'
m4:
require: '%gcc@8.5.0'
ncurses:
require: '%gcc@8.5.0'
ninja:
require: '%gcc@8.5.0'
nlohmann-json:
require: '%gcc@8.5.0'
numactl:
require: '%gcc@8.5.0'
nvhpc:
require: '%gcc@8.5.0 install_type=network'
openblas:
require: '%gcc'
openmpi:
require:
- spec: schedulers=slurm fabrics=auto pmi-interface=pmix +cxx +cuda +legacylaunchers
- spec: '+cxx_exceptions'
when: '%gcc'
openssh:
require: '%gcc@8.5.0'
openssl:
require: '%gcc@8.5.0'
pcre2:
require: '%gcc@8.5.0'
perl:
require: '%gcc@8.5.0'
pkg-config:
require: '%gcc@8.5.0'
py-numpy:
require: '%gcc@12.3.0'
python:
require: '%gcc'
readline:
require: '%gcc@8.5.0'
rsync:
require: '%gcc@8.5.0'
ruby:
require: '%gcc@8.5.0'
sed:
require: '%gcc@8.5.0'
slurm:
buildable: false
externals:
- prefix: /usr
spec: slurm@24-05-2-1 +pmix +hwloc +hdf5 +mariadb +pam
sqlite:
require: '%gcc@8.5.0'
subversion:
require: '%gcc@8.5.0'
tar:
require: '%gcc@8.5.0'
texinfo:
require: '%gcc@8.5.0'
unuran:
require: '%gcc@8.5.0'
util-linux-uuid:
require: '%gcc@8.5.0'
util-macros:
require: '%gcc@8.5.0'
valgrind:
require: '%gcc@8.5.0'
xerces-c:
require: '%gcc@8.5.0'
xxhash:
require: '%gcc@8.5.0'
xz:
require: '%gcc@8.5.0'
zlib:
require: '%gcc@8.5.0'
zstd:
require: '%gcc@8.5.0'

View File

@ -1,14 +0,0 @@
spack:
concretizer:
unify: false
include:
- $spack/../spack-psi/env/rhel8/x86_64/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel8/x86_64/sysconfigs/compilers.yaml
include_concrete:
- /afs/psi.ch/sys/spack/spack-psi/env/rhel8/x86_64/admin/stable
specs: []
upstreams:
stable:
install_tree: >-
$spack/opt/spack/stable
view: false

View File

@ -1,16 +0,0 @@
spack:
concretizer:
unify: false
include:
- $spack/../spack-psi/env/rhel8/x86_64/sysconfigs/packages.yaml
- $spack/../spack-psi/env/rhel8/x86_64/sysconfigs/compilers.yaml
include_concrete:
- /afs/psi.ch/sys/spack/spack-psi/env/rhel8/x86_64/admin/stable
- /afs/psi.ch/sys/spack/spack-psi/env/rhel8/x86_64/admin/unstable
specs: []
upstreams:
stable:
install_tree: $spack/opt/spack/stable
unstable:
install_tree: $spack/opt/spack/unstable
view: false

File diff suppressed because one or more lines are too long

View File

@ -1,25 +0,0 @@
---
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/stable
definitions:
- gcc_12.3_mpich:
- relion@4.0.1/ve5sish #+cuda
include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/stable/modulefiles
specs:
- matrix:
- [$gcc_12.3_mpich]
- ['%gcc@12.3']
- [^cray-mpich]
view: false

View File

@ -1,19 +0,0 @@
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/testing
# Strongly adviced to avoid problems with buildcaches
padded_length: 256
include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/testing/modulefiles
specs: []
view: false

File diff suppressed because one or more lines are too long

View File

@ -1,53 +0,0 @@
spack:
concretizer:
unify: false
config:
install_tree:
root: $spack/opt/spack/unstable
definitions:
- gcc_7.5.0:
- visit@3.3.3/fo37wwb
- gcc_12.3:
- fastqc@0.12.1/eyuqqvf
- ffbidx@main/lfacuhw
- star@2.7.11a/gdgr2ea
- sratoolkit@3.1.1/7oqp6a3
- gcc_12.3_mpich:
- cp2k@2024.1/2jesise #~cuda
- cp2k@2024.1/zqm5fme #+cuda
- quantum-espresso@7.3.1/n6mulig #~cuda
- opal@2024.1.0/mhg3mdx
- py-alphafold@2.3.2/xkw7tfm #+cuda
- gcc_12.3_openmpi:
- gromacs@2024.1/3n7qspb #+cuda
- nvhpc_23.9_openmpi:
- quantum-espresso@7.3.1/le35al7 #+cuda
include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing
modules:
default:
roots:
tcl: $spack/opt/spack/unstable/modulefiles
specs:
- matrix:
- [$gcc_7.5.0]
- ['%gcc@7.5.0']
- matrix:
- [$gcc_12.3]
- ['%gcc@12.3']
- matrix:
- [$gcc_12.3_mpich]
- ['%gcc@12.3']
- [^cray-mpich]
- matrix:
- [$gcc_12.3_openmpi]
- ['%gcc@12.3']
- [^openmpi]
- matrix:
- [$nvhpc_23.9_openmpi]
- ['%nvhpc@23.9']
- [^openmpi]
view: false

View File

@ -1,64 +0,0 @@
compilers:
- compiler:
spec: cce@=17.0.0
paths:
cc: cc
cxx: CC
f77: ftn
fc: ftn
flags: {}
operating_system: sles15
target: aarch64
modules:
- libfabric/1.15.2.0
- PrgEnv-cray/8.5.0
- cce/17.0.0
environment: {}
extra_rpaths: []
- compiler:
spec: gcc@=12.3
paths:
cc: /usr/bin/gcc-12
cxx: /usr/bin/g++-12
f77: /usr/bin/gfortran-12
fc: /usr/bin/gfortran-12
flags: {}
operating_system: sles15
target: aarch64
modules:
- libfabric/1.15.2.0
- PrgEnv-gnu/8.5.0
- gcc-native/12.3
environment: {}
extra_rpaths: []
- compiler:
spec: gcc@=7.5.0
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
flags: {}
operating_system: sles15
target: aarch64
modules:
- libfabric/1.15.2.0
environment: {}
extra_rpaths: []
- compiler:
spec: nvhpc@=24.3
paths:
cc: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/compilers/bin/nvc
cxx: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/compilers/bin/nvc++
f77: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/compilers/bin/nvfortran
fc: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/compilers/bin/nvfortran
flags: {}
operating_system: sles15
target: aarch64
modules:
- libfabric/1.15.2.0
- nvhpc-nompi/24.3
environment:
prepend_path:
LD_LIBRARY_PATH: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/math_libs/lib64/stubs
extra_rpaths: []

View File

@ -1,284 +0,0 @@
packages:
all:
compiler: [gcc@12.3, cce, nvhpc]
providers:
blas: [cray-libsci, openblas, nvhpc]
lapack: [cray-libsci, openblas, nvhpc]
mpi: [cray-mpich, openmpi]
pkgconfig: [pkg-config]
scalapack: [cray-libsci]
require:
- spec: "os=sles15"
- spec: "target=aarch64"
when: "%gcc"
- spec: "target=zen3"
when: "%nvhpc"
# Grace Hopper arch
variants:
- cuda_arch=90
berkeley-db:
require: '%gcc@7.5.0'
boost:
require: '%gcc@7.5.0'
ca-certificates-mozilla:
require: '%gcc@7.5.0'
cairo:
require: '%gcc@7.5.0'
cmake:
require: '%gcc@7.5.0'
coreutils:
require: '%gcc@7.5.0'
cray-libsci:
buildable: false
externals:
- modules:
- cray-libsci
prefix: /opt/cray/pe/libsci/23.12.5/cray/17.0/aarch64
spec: cray-libsci@23.12.5%cce@17.0.0 +mpi +openmp
- modules:
- cray-libsci
prefix: /opt/cray/pe/libsci/23.12.5/GNU/12.3/aarch64/
spec: cray-libsci@23.12.5%gcc@12.3 +mpi +openmp
cray-mpich:
buildable: false
externals:
- modules:
- cray-mpich
prefix: /opt/cray/pe/mpich/8.1.28/ofi/cray/17.0
spec: cray-mpich@8.1.28%cce@17.0.0
- modules:
- cray-mpich
prefix: /opt/cray/pe/mpich/8.1.28/ofi/gnu/12.3
spec: cray-mpich@8.1.28%gcc@12.3
cray-pmi:
buildable: false
externals:
- modules:
- cray-pmi
prefix: /opt/cray/pe/pmi/6.1.13
spec: cray-pmi@6.1.13%gcc
cuda:
prefer:
- spec: '@12.2.0'
require: '@12.2.0:'
externals:
- modules:
- nvhpc-nompi/24.3
prefix: /opt/nvidia/hpc_sdk/Linux_aarch64/24.3/cuda
spec: cuda@12.2.0%nvhpc@24.3
curl:
require: '%gcc@7.5.0'
expat:
require: '%gcc@7.5.0'
fftw:
externals:
- modules:
- cray-fftw/3.3.10.6
prefix: /opt/cray/pe/fftw/3.3.10.6/aarch64
spec: fftw@3.3.10.6+mpi+openmp~pfft_patches precision=double,float%gcc@12.3
findutils:
require: '%gcc@7.5.0'
flex:
require: '%gcc@7.5.0'
fltk:
require: '%gcc@7.5.0'
fontconfig:
require: '%gcc@7.5.0'
gawk:
require: '%gcc@7.5.0'
gcc:
require: '%gcc@7.5.0'
gdbm:
require: '%gcc@7.5.0'
gettext:
externals:
- prefix: /usr
spec: 'gettext@0.20.2'
git:
require: '%gcc@7.5.0'
gmake:
require: '%gcc@7.5.0'
groff:
require: '%gcc@7.5.0'
gtkplus:
require: 'default_library=shared,static'
hdf5:
prefer:
- spec: '~mpi'
externals:
- modules:
- cray-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5/1.12.2.9/crayclang/17.0
spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%cce@17.0.0
- modules:
- cray-parallel-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/crayclang/17.0
spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%cce@17.0.0
- modules:
- cray-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5/1.12.2.9/gnu/12.3
spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%gcc@12.3
- modules:
- cray-parallel-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/gnu/12.3
spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%gcc@12.3
libbsd:
require: '%gcc@7.5.0'
libevent:
require: '%gcc@7.5.0'
# Crayism
libfabric:
buildable: false
externals:
- modules:
- libfabric/1.15.2.0
prefix: /opt/cray/libfabric/1.15.2.0
spec: libfabric@1.15.2.0
libiconv:
require: '%gcc@7.5.0'
libidn2:
require: '%gcc@7.5.0'
libmd:
require: '%gcc@7.5.0'
libpciaccess:
require: '%gcc@7.5.0'
libsigsegv:
require: '%gcc@7.5.0'
libtool:
require: '%gcc@7.5.0'
libxml2:
require: '%gcc@7.5.0'
llvm:
require: '%gcc@7.5.0'
m4:
require: '%gcc@7.5.0'
munge:
buildable: false
externals:
- prefix: /usr
spec: munge@0.5.15
ncurses:
require: '%gcc@7.5.0'
netcdf-c:
externals:
- modules:
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%cce@17.0.0
- modules:
- cray-netcdf-hdf5parallel/4.9.0.9
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/crayclang/17.0
spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%cce@17.0.0
- modules:
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%gcc@12.3
- modules:
- cray-netcdf-hdf5parallel/4.9.0.9
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/gnu/12.3
spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%gcc@12.3
netcdf-fortran:
externals:
- modules:
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
spec: netcdf-fortran@4.9.0.9~doc+shared%cce@17.0.0
- modules:
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
spec: netcdf-fortran@4.9.0.9~doc+shared%gcc@12.3
ninja:
require: '%gcc@7.5.0'
numactl:
require: '%gcc@7.5.0'
nvhpc:
externals:
- modules:
- nvhpc-nompi/24.3
spec: nvhpc@24.3
opal:
require:
- spec: '%gcc'
- message: Opal 2022.1.0 only builds with gcc@10.4.0
spec: '%gcc@10.4.0 ^openmpi'
when: '@2022.1.0'
opengl:
require: '%gcc@7.5.0'
openldap:
buildable: false
externals:
- prefix: /usr
spec: openldap@2.4.46
openmpi:
require:
- spec: 'schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +cxx_exceptions +cuda +legacylaunchers'
when: '%gcc'
- spec: 'schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +cuda +legacylaunchers'
when: '%nvhpc'
openssh:
require: '%gcc@7.5.0'
openssl:
require: '%gcc@7.5.0'
parallel-netcdf:
externals:
- modules:
- cray-parallel-netcdf/1.12.3.9
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/crayclang/17.0
spec: parallel-netcdf@1.12.3.9+cxx+fortran%cce@17.0.0
- modules:
- cray-parallel-netcdf/1.12.3.9
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/gnu/12.3
spec: parallel-netcdf@1.12.3.9+cxx+fortran%gcc@12.3
perl:
buildable: false
externals:
- prefix: /usr
spec: perl@5.26.1
pkg-config:
require: '%gcc@7.5.0'
pkgconf:
require: '%gcc@7.5.0'
py-fypp:
require: '%gcc@7.5.0'
python:
require: '%gcc@7.5.0'
# QE is unable to find out cray-libsci
quantum-espresso:
require: ~scalapack ^openblas
rdma-core:
require: '%gcc@7.5.0'
readline:
require: '%gcc@7.5.0'
slurm:
buildable: false
externals:
- prefix: /usr
spec: slurm@24.05.3%gcc@7.5.0 +cgroup+gtk+hwloc+mariadb+nvml+pam+pmix+restd
sqlite:
require: '%gcc@7.5.0'
tar:
require: '%gcc@7.5.0'
texinfo:
require: '%gcc@7.5.0'
unuran:
require: '%gcc@7.5.0'
util-linux-uuid:
require: '%gcc@7.5.0'
util-macros:
require: '%gcc@7.5.0'
xpmem:
buildable: false
externals:
- modules:
- xpmem/2.9.6-1.1_20240511212657__g087dc11fc19d
spec: xpmem@2.9.6-1.1
xxhash:
require: '%gcc@7.5.0'
xz:
externals:
- prefix: /usr
spec: xz@5.2.3
zlib:
require: '%gcc@7.5.0'
zstd:
require: '%gcc@7.5.0'

View File

@ -1,13 +0,0 @@
spack:
concretizer:
unify: false
include:
- $spack/../spack-psi/env/sles15/aarch64/sysconfigs/packages.yaml
- $spack/../spack-psi/env/sles15/aarch64/sysconfigs/compilers.yaml
include_concrete:
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/aarch64/admin/stable
specs: []
upstreams:
stable:
install_tree: $spack/opt/spack/stable
view: false

View File

@ -1,16 +0,0 @@
spack:
concretizer:
unify: false
include:
- $spack/../spack-psi/env/sles15/aarch64/sysconfigs/packages.yaml
- $spack/../spack-psi/env/sles15/aarch64/sysconfigs/compilers.yaml
include_concrete:
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/aarch64/admin/stable
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/aarch64/admin/unstable
specs: []
upstreams:
stable:
install_tree: $spack/opt/spack/stable
unstable:
install_tree: $spack/opt/spack/unstable
view: false

File diff suppressed because one or more lines are too long

View File

@ -3,28 +3,18 @@ spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/stable root: $spack/opt/spack/stable
definitions: include_concrete:
- gcc_7.5.0: - $spack/spack-psi/env/$os/$target_family/admin/unstable
- fpart@1.6.0/di4akxx
- gcc_12.3_mpich:
- relion@4.0.1/ve5sish #+cuda
include: include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_stable: file:///afs/psi.ch/software/spack/stable
modules: local_unstable: file:///afs/psi.ch/software/spack/unstable
default: specs: []
roots:
tcl: $spack/opt/spack/stable/modulefiles
specs:
- matrix:
- [$gcc_7.5.0]
- ['%gcc@7.5.0']
- matrix:
- [$gcc_12.3_mpich]
- ['%gcc@12.3']
- [^cray-mpich]
view: false view: false

View File

@ -2,18 +2,24 @@ spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/testing root: $spack/opt/spack/testing
# Strongly adviced to avoid problems with buildcaches upstreams:
padded_length: 256 spack-instance-1:
install_tree: $spack/opt/spack/stable
spack-instance-2:
install_tree: $spack/opt/spack/unstable
include: include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_unstable: file:///afs/psi.ch/software/spack/unstable
modules: local_testing: file:///afs/psi.ch/software/spack/testing
default: specs:
roots: - cp2k@2024.1%gcc~cuda
tcl: $spack/opt/spack/testing/modulefiles - opal@master%gcc
specs: [] - opal@master%gcc ^openmpi
view: false view: false

File diff suppressed because one or more lines are too long

View File

@ -2,57 +2,22 @@ spack:
concretizer: concretizer:
unify: false unify: false
config: config:
allow_sgid: false
build_stage:
- $spack/user/$user/spack-stage
install_tree: install_tree:
root: $spack/opt/spack/unstable root: $spack/opt/spack/unstable
definitions: upstreams:
- gcc_7.5.0: spack-instance-1:
- visit@3.3.3/fo37wwb install_tree: $spack/opt/spack/stable
- gcc_12.3: include_concrete:
- fastqc@0.12.1/eyuqqvf - $spack/spack-psi/env/$os/$target_family/admin/testing
- ffbidx@main/lfacuhw
- star@2.7.11a/gdgr2ea
- sratoolkit@3.1.1/7oqp6a3
- gcc_12.3_mpich:
- cp2k@2024.1/2jesise #~cuda
- cp2k@2024.1/zqm5fme #+cuda
- quantum-espresso@7.3.1/n6mulig #~cuda
- opal@2024.1.0/mhg3mdx
- py-alphafold@2.3.2/xkw7tfm #+cuda
- gcc_12.3_openmpi:
- gromacs@2024.1/3n7qspb #+cuda
- intel_2021.6.0:
- openmpi@4.1.6/eqhrgv5
- nvhpc_23.9_openmpi:
- quantum-espresso@7.3.1/le35al7 #+cuda
include: include:
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/packages.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/../spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml - $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
mirrors: mirrors:
local_psi: file:///afs/psi.ch/software/spack/testing local_stable: file:///afs/psi.ch/software/spack/stable
modules: local_unstable: file:///afs/psi.ch/software/spack/unstable
default: local_testing: file:///afs/psi.ch/software/spack/testing
roots: specs: []
tcl: $spack/opt/spack/unstable/modulefiles
specs:
- matrix:
- [$gcc_7.5.0]
- ['%gcc@7.5.0']
- matrix:
- [$gcc_12.3]
- ['%gcc@12.3']
- matrix:
- [$gcc_12.3_mpich]
- ['%gcc@12.3']
- [^cray-mpich]
- matrix:
- [$gcc_12.3_openmpi]
- ['%gcc@12.3']
- [^openmpi]
- matrix:
- [$intel_2021.6.0]
- ['%intel@2021.6.0']
- matrix:
- [$nvhpc_23.9_openmpi]
- ['%nvhpc@23.9']
- [^openmpi]
view: false view: false

View File

@ -46,47 +46,17 @@ compilers:
environment: {} environment: {}
extra_rpaths: [] extra_rpaths: []
- compiler: - compiler:
spec: nvhpc@=23.9 spec: nvhpc@=22.3
paths: paths:
cc: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc cc: /opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvc
cxx: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvc++ cxx: /opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvc++
f77: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvfortran f77: /opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvfortran
fc: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/nvfortran fc: /opt/nvidia/hpc_sdk/Linux_x86_64/22.3/compilers/bin/nvfortran
flags: {}
operating_system: sles15
target: x86_64
modules:
- nvhpc-nompi/23.9
- libfabric/1.15.2.0
environment:
prepend_path:
LD_LIBRARY_PATH: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/math_libs/lib64/stubs
extra_rpaths: []
- compiler:
spec: intel@=2021.6.0
paths:
cc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/intel64/ifort
flags: {}
operating_system: sles15
target: x86_64
modules:
- libfabric/1.15.2.0
environment: {}
extra_rpaths: []
- compiler:
spec: oneapi@=2022.1.0
paths:
cc: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/icx
cxx: /afs/psi.ch/sys/spack/0.22.0/opt/spack/stable/linux-sles15-x86_64/gcc-7.5.0/intel-oneapi-compilers-2022.1.0-jjfubnqeg5udrhlho6owzlpi6odqsey5/compiler/2022.1.0/linux/bin/icpx
f77: null
fc: null
flags: {} flags: {}
operating_system: sles15 operating_system: sles15
target: x86_64 target: x86_64
modules: modules:
- libfabric/1.15.2.0 - libfabric/1.15.2.0
- nvhpc-nompi/22.3
environment: {} environment: {}
extra_rpaths: [] extra_rpaths: []

View File

@ -7,18 +7,11 @@ packages:
mpi: [cray-mpich, openmpi] mpi: [cray-mpich, openmpi]
pkgconfig: [pkg-config] pkgconfig: [pkg-config]
scalapack: [cray-libsci] scalapack: [cray-libsci]
require: target: [x86_64]
- spec: "os=sles15"
- spec: "target=x86_64"
when: "%gcc"
- spec: "target=zen3"
when: "%nvhpc"
# Grace Hopper arch # Grace Hopper arch
variants: variants:
- cuda_arch=80 - cuda_arch=90
autoconf: amrex:
require: '%gcc@7.5.0'
automake:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
berkeley-db: berkeley-db:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
@ -35,50 +28,36 @@ packages:
cray-libsci: cray-libsci:
buildable: false buildable: false
externals: externals:
- modules: - prefix: /opt/cray/pe/libsci/23.12.5/GNU/12.3/x86_64/
- cray-libsci
prefix: /opt/cray/pe/libsci/23.12.5/cray/17.0/x86_64
spec: cray-libsci@23.12.5%cce@17.0.0 +mpi +openmp spec: cray-libsci@23.12.5%cce@17.0.0 +mpi +openmp
- modules: - prefix: /opt/cray/pe/libsci/23.12.5/GNU/12.3/x86_64/
- cray-libsci
prefix: /opt/cray/pe/libsci/23.12.5/GNU/12.3/x86_64/
spec: cray-libsci@23.12.5%gcc@12.3 +mpi +openmp spec: cray-libsci@23.12.5%gcc@12.3 +mpi +openmp
cray-mpich: cray-mpich:
buildable: false buildable: false
externals: externals:
- modules: - modules:
- PrgEnv-cce/17.0.0
- cray-mpich - cray-mpich
prefix: /opt/cray/pe/mpich/8.1.28/ofi/cray/17.0
spec: cray-mpich@8.1.28%cce@17.0.0 spec: cray-mpich@8.1.28%cce@17.0.0
- modules: - modules:
- PrgEnv-gnu/8.5.0
- cray-mpich - cray-mpich
prefix: /opt/cray/pe/mpich/8.1.28/ofi/gnu/12.3
spec: cray-mpich@8.1.28%gcc@12.3 spec: cray-mpich@8.1.28%gcc@12.3
cray-pmi: cray-pmi:
buildable: false buildable: false
externals: externals:
- modules: - modules:
- cray-pmi - cray-pmi
prefix: /opt/cray/pe/pmi/6.1.13
spec: cray-pmi@6.1.13%gcc spec: cray-pmi@6.1.13%gcc
cuda: ctffind:
prefer: require: '%gcc@7.5.0'
- spec: '@12.2.0'
require: '@12.2.0:'
externals:
- modules:
- nvhpc-nompi/23.9
prefix: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda
spec: cuda@12.2.0%nvhpc@23.9
curl: curl:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
expat: expat:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
fftw: fftw:
externals: externals:
- modules: - prefix: /opt/cray/pe/fftw/3.3.10.6/x86_64
- cray-fftw/3.3.10.6
prefix: /opt/cray/pe/fftw/3.3.10.6/x86_64
spec: fftw@3.3.10.6+mpi+openmp~pfft_patches precision=double,float%gcc@12.3 spec: fftw@3.3.10.6+mpi+openmp~pfft_patches precision=double,float%gcc@12.3
findutils: findutils:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
@ -95,36 +74,22 @@ packages:
gdbm: gdbm:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
gettext: gettext:
externals: require: '%gcc@7.5.0'
- prefix: /usr
spec: 'gettext@0.20.2'
git: git:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
gmake: gmake:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
groff: groff:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
gtkplus:
require: 'default_library=shared,static'
hdf5: hdf5:
prefer:
- spec: '~mpi'
externals: externals:
- modules: - prefix: /opt/cray/pe/hdf5/1.12.2.9/crayclang/17.0
- cray-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5/1.12.2.9/crayclang/17.0
spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%cce@17.0.0 spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%cce@17.0.0
- modules: - prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/crayclang/17.0
- cray-parallel-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/crayclang/17.0
spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%cce@17.0.0 spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%cce@17.0.0
- modules: - prefix: /opt/cray/pe/hdf5/1.12.2.9/gnu/12.3
- cray-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5/1.12.2.9/gnu/12.3
spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%gcc@12.3 spec: hdf5@1.12.2+cxx+fortran+hl~mpi+shared~szip~threadsafe%gcc@12.3
- modules: - prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/gnu/12.3
- cray-parallel-hdf5/1.12.2.9
prefix: /opt/cray/pe/hdf5-parallel/1.12.2.9/gnu/12.3
spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%gcc@12.3 spec: hdf5@1.12.2+cxx+fortran+hl+mpi+shared~szip~threadsafe%gcc@12.3
libbsd: libbsd:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
@ -136,7 +101,6 @@ packages:
externals: externals:
- modules: - modules:
- libfabric/1.15.2.0 - libfabric/1.15.2.0
prefix: /opt/cray/libfabric/1.15.2.0
spec: libfabric@1.15.2.0 spec: libfabric@1.15.2.0
libiconv: libiconv:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
@ -165,47 +129,32 @@ packages:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
netcdf-c: netcdf-c:
externals: externals:
- modules: - prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%cce@17.0.0 spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%cce@17.0.0
- modules: - prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/crayclang/17.0
- cray-netcdf-hdf5parallel/4.9.0.9
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/crayclang/17.0
spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%cce@17.0.0 spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%cce@17.0.0
- modules: - prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%gcc@12.3 spec: netcdf-c@4.9.0.9~dap~hdf4~jna~mpi~parallel-netcdf+shared%gcc@12.3
- modules: - prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/gnu/12.3
- cray-netcdf-hdf5parallel/4.9.0.9
prefix: /opt/cray/pe/netcdf-hdf5parallel/4.9.0.9/gnu/12.3
spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%gcc@12.3 spec: netcdf-c@4.9.0.9~dap~hdf4~jna+mpi~parallel-netcdf+shared%gcc@12.3
netcdf-fortran: netcdf-fortran:
externals: externals:
- modules: - prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/crayclang/17.0
spec: netcdf-fortran@4.9.0.9~doc+shared%cce@17.0.0 spec: netcdf-fortran@4.9.0.9~doc+shared%cce@17.0.0
- modules: - prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
- cray-netcdf/4.9.0.9
prefix: /opt/cray/pe/netcdf/4.9.0.9/gnu/12.3
spec: netcdf-fortran@4.9.0.9~doc+shared%gcc@12.3 spec: netcdf-fortran@4.9.0.9~doc+shared%gcc@12.3
ninja: ninja:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
numactl: numactl:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
nvhpc:
externals:
- modules:
- nvhpc-nompi/23.9
spec: nvhpc@23.9
opal: opal:
require: require:
- spec: '%gcc' - spec: '%gcc'
- message: Opal 2022.1.0 only builds with gcc@10.4.0 - message: Opal 2022.1.0 only builds with gcc@10.4.0
spec: '%gcc@10.4.0 ^openmpi' spec: '%gcc@10.4.0 ^openmpi'
when: '@2022.1.0' when: '@2022.1.0'
openblas:
require: '%gcc@7.5.0'
opengl: opengl:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
openldap: openldap:
@ -215,24 +164,16 @@ packages:
spec: openldap@2.4.46 spec: openldap@2.4.46
openmpi: openmpi:
require: require:
- spec: 'schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +cxx_exceptions +cuda +legacylaunchers' - schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +cxx_exceptions +cuda +legacylaunchers
when: '%gcc'
- spec: 'schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +cuda +legacylaunchers'
when: 'nvhpc'
- spec: 'schedulers=slurm fabrics=ofi +pmi pmi-interface=cray +cxx +legacylaunchers'
openssh: openssh:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
openssl: openssl:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
parallel-netcdf: parallel-netcdf:
externals: externals:
- modules: - prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/crayclang/17.0
- cray-parallel-netcdf/1.12.3.9
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/crayclang/17.0
spec: parallel-netcdf@1.12.3.9+cxx+fortran%cce@17.0.0 spec: parallel-netcdf@1.12.3.9+cxx+fortran%cce@17.0.0
- modules: - prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/gnu/12.3
- cray-parallel-netcdf/1.12.3.9
prefix: /opt/cray/pe/parallel-netcdf/1.12.3.9/gnu/12.3
spec: parallel-netcdf@1.12.3.9+cxx+fortran%gcc@12.3 spec: parallel-netcdf@1.12.3.9+cxx+fortran%gcc@12.3
perl: perl:
buildable: false buildable: false
@ -258,7 +199,7 @@ packages:
buildable: false buildable: false
externals: externals:
- prefix: /usr - prefix: /usr
spec: slurm@23.11.8%gcc@7.5.0 +cgroup+gtk+hwloc+mariadb+nvml+pam+pmix+restd spec: slurm@23-11-0-1 +pmix +hwloc +hdf5 +mariadb +pam
sqlite: sqlite:
require: '%gcc@7.5.0' require: '%gcc@7.5.0'
tar: tar:

View File

@ -1,13 +1,17 @@
spack: spack:
concretizer: concretizer:
unify: false unify: false
include: config:
- $spack/../spack-psi/env/sles15/x86_64/sysconfigs/packages.yaml allow_sgid: false
- $spack/../spack-psi/env/sles15/x86_64/sysconfigs/compilers.yaml build_stage:
include_concrete: - $spack/user/$user/spack-stage
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/x86_64/admin/stable install_tree:
specs: [] root: $spack/user/$user/spack-install
upstreams: upstreams:
stable: spack-instance-1:
install_tree: $spack/opt/spack/stable install_tree: $spack/opt/spack/stable
include:
- $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
specs:
view: false view: false

View File

@ -1,16 +1,19 @@
spack: spack:
concretizer: concretizer:
unify: false unify: false
include: config:
- $spack/../spack-psi/env/sles15/x86_64/sysconfigs/packages.yaml allow_sgid: false
- $spack/../spack-psi/env/sles15/x86_64/sysconfigs/compilers.yaml build_stage:
include_concrete: - $spack/user/$user/spack-stage
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/x86_64/admin/stable install_tree:
- /afs/psi.ch/sys/spack/spack-psi/env/sles15/x86_64/admin/unstable root: $spack/user/$user/spack-install
specs: []
upstreams: upstreams:
stable: spack-instance-1:
install_tree: $spack/opt/spack/stable install_tree: $spack/opt/spack/stable
unstable: spack-instance-2:
install_tree: $spack/opt/spack/unstable install_tree: $spack/opt/spack/unstable
include:
- $spack/spack-psi/env/$os/$target_family/sysconfigs/packages.yaml
- $spack/spack-psi/env/$os/$target_family/sysconfigs/compilers.yaml
specs:
view: false view: false

View File

@ -1,18 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
from spack.pkg.builtin.cuda import Cuda as SpackCuda
class Cuda(SpackCuda):
def setup_run_environment(self, env):
super().setup_run_environment(env)
if '%nvhpc' in self.spec:
env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64)
env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, '../math_libs/lib64'))

View File

@ -1,13 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
from spack.pkg.builtin.gams import Gams as SpackGams
class Gams(SpackGams):
version("48.1", md5="5a59a973edfc4e3170b9535760593d62", expand=False)

View File

@ -5,71 +5,9 @@
from spack.package import * from spack.package import *
from spack.pkg.builtin.h5hut import H5hut as SpackH5hut
class H5hut(AutotoolsPackage): class H5hut(SpackH5hut):
"""H5hut (HDF5 Utility Toolkit).
High-Performance I/O Library for Particle-based Simulations."""
homepage = "https://amas.psi.ch/H5hut/"
url = "https://amas.web.psi.ch/Downloads/H5hut/H5hut-2.0.0rc3.tar.gz"
git = "https://gitlab.psi.ch/H5hut/src.git"
version("2.0.0rc7", sha256="bc058c4817c356b7b7acfe386c586923103b90bdfa83575db3a91754767e6fab")
version("2.0.0rc6", sha256="980a5c634877265bd3a862fbd439d973d44be9c1d2f840c3635e8c6375d62d7e") version("2.0.0rc6", sha256="980a5c634877265bd3a862fbd439d973d44be9c1d2f840c3635e8c6375d62d7e")
version("2.0.0rc3", sha256="1ca9a9478a99e1811ecbca3c02cc49258050d339ffb1a170006eab4ab2a01790")
version("master", branch="master")
variant("fortran", default=True, description="Enable Fortran support")
variant("mpi", default=True, description="Enable MPI support")
depends_on("autoconf", type="build", when="build_system=autotools")
depends_on("automake", type="build", when="build_system=autotools")
depends_on("libtool", type="build", when="build_system=autotools")
depends_on("mpi", when="+mpi")
# h5hut +mpi uses the obsolete function H5Pset_fapl_mpiposix:
depends_on("hdf5@1.8:+mpi", when="+mpi")
depends_on("hdf5@1.8:", when="~mpi")
# If built in parallel, the following error message occurs:
# install: .libs/libH5hut.a: No such file or directory
parallel = False
@run_before("configure")
def validate(self):
"""Checks if Fortran compiler is available."""
if "+fortran" in self.spec and not self.compiler.fc:
raise RuntimeError("Cannot build Fortran variant without a Fortran compiler.")
def flag_handler(self, name, flags):
build_system_flags = []
if name == "cflags" and self.spec.version < Version("2.0.0rc7"):
build_system_flags = ["-DH5_USE_110_API"]
return flags, None, build_system_flags
def autoreconf(self, spec, prefix):
which("bash")("autogen.sh")
def configure_args(self):
spec = self.spec
config_args = ["--enable-shared"]
if "+fortran" in spec:
config_args.append("--enable-fortran")
if "+mpi" in spec:
config_args.extend(
[
"--enable-parallel",
"CC={0}".format(spec["mpi"].mpicc),
"CXX={0}".format(spec["mpi"].mpicxx),
]
)
if "+fortran" in spec:
config_args.append("FC={0}".format(spec["mpi"].mpifc))
return config_args

View File

@ -1,99 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# ----------------------------------------------------------------------------
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install ippl
#
# You can edit this file again by typing:
#
# spack edit ippl
#
# See the Spack documentation for more information on packaging.
# ----------------------------------------------------------------------------
from spack.package import *
class Ippl(CMakePackage, CudaPackage):
"""Independent Parallel Particle Layer (IPPL) is a performance portable C++ library for Particle-Mesh methods. IPPL makes use of Kokkos (https://github.com/kokkos/kokkos), HeFFTe (https://github.com/icl-utk-edu/heffte), and MPI (Message Passing Interface) to deliver a portable, massively parallel toolkit for particle-mesh methods. IPPL supports simulations in one to six dimensions, mixed precision, and asynchronous execution in different execution spaces (e.g. CPUs and GPUs)."""
homepage = "https://github.com/IPPL-framework/ippl"
url = "https://github.com/IPPL-framework/ippl/archive/refs/tags/IPPL-3.2.0.tar.gz"
git="https://github.com/IPPL-framework/ippl.git"
maintainers("germanne", "gsell")
license("GPLv3")
version("3.2.0", sha256="041a4efbddaba5b477dae01ab166354da7dee01cf625706e19f5b60c0c3f6b88")
version('opalx-fielddump', branch="opalx-fielddump")
variant(
"build_type",
default="Release",
description="CMake build type",
values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
)
variant("mpi", default=True, description="Enable MPI support")
variant(
"platforms",
default=True,
description="Set IPPL platforms",
values=("serial", "openmp", "cuda", "openmp/cuda")
)
variant("solvers", default=True, description="Enable solvers")
variant("fft", default=True, description="Enable full-wave solver")
variant("tests", default=False, description="Enable tests")
variant("unit_tests", default=False, description="Enable unit tests")
variant("alternative_variant", default=False, description="Use alternative variant")
variant("alpine", default=False, description="Enable Alpine")
depends_on("cmake@3.25.2:", type="build")
depends_on("fftw@3.3.10", when="+fft")
depends_on("mpi", when="+mpi")
conflicts("~mpi", msg="IPPL can not run without mpi!")
conflicts("cuda_arch=none", when="+cuda",
msg="CUDA architecture is required")
conflicts("~cuda", when="platform=cuda",
msg="CUDA is required for platform cuda.")
def cmake_args(self):
args = [
"-DCMAKE_CXX_STANDARD=20",
self.define_from_variant("ENABLE_FFT", "fft"),
self.define_from_variant("ENABLE_SOLVERS", "solvers"),
self.define_from_variant("ENABLE_TESTS", "tests"),
self.define_from_variant("ENABLE_UNIT_TESTS", "unit_tests"),
self.define_from_variant("USE_ALTERNATIVE_VARIANT", "alternative_variant"),
self.define_from_variant("ENABLE_ALPINE", "alpine"),
]
if 'platforms=cuda' in self.spec:
args.append("-DIPPL_PLATFORMS=CUDA")
elif 'platforms=openmp' in self.spec:
args.append("-DIPPL_PLATFORMS=OPENMP")
elif 'platforms=openmp/cuda' in self.spec:
args.append("-DIPPL_PLATFORMS=OPENMP;CUDA")
else:
args.append("-DIPPL_PLATFORMS=SERIAL")
if 'cuda_arch=90' in self.spec:
args.append("-DKokkos_ARCH_HOPPER90=ON")
elif 'cuda_arch=80' in self.spec:
args.append("-DKokkos_ARCH_AMPERE80=ON")
elif 'cuda_arch=60' in self.spec:
args.append("-DKokkos_ARCH_PASCAL61=ON")
return args

View File

@ -1,37 +0,0 @@
diff --git a/config/defaults.mk b/config/defaults.mk
index d6b8d59a1..d1ba6fb9a 100644
--- a/config/defaults.mk
+++ b/config/defaults.mk
@@ -452,7 +452,7 @@ FMS_LIB = -Wl,-rpath,$(FMS_DIR)/lib -L$(FMS_DIR)/lib -lfms
# Conduit and required libraries configuration
CONDUIT_DIR = @MFEM_DIR@/../conduit
-CONDUIT_OPT = -I$(CONDUIT_DIR)/include/conduit
+CONDUIT_OPT = -I$(CONDUIT_DIR)/include
CONDUIT_LIB = \
$(XLINKER)-rpath,$(CONDUIT_DIR)/lib -L$(CONDUIT_DIR)/lib \
-lconduit -lconduit_relay -lconduit_blueprint -ldl
@@ -469,8 +469,8 @@ endif
# Sidre and required libraries configuration
# Be sure to check the HDF5_DIR (set above) is correct
SIDRE_DIR = @MFEM_DIR@/../axom
-SIDRE_OPT = -I$(SIDRE_DIR)/include -I$(CONDUIT_DIR)/include/conduit\
- -I$(HDF5_DIR)/include
+SIDRE_OPT = -I$(SIDRE_DIR)/include -I$(CONDUIT_DIR)/include/conduit \
+ -I$(CONDUIT_DIR)/include -I$(HDF5_DIR)/include
SIDRE_LIB = \
$(XLINKER)-rpath,$(SIDRE_DIR)/lib -L$(SIDRE_DIR)/lib \
$(XLINKER)-rpath,$(CONDUIT_DIR)/lib -L$(CONDUIT_DIR)/lib \
diff --git a/fem/conduitdatacollection.hpp b/fem/conduitdatacollection.hpp
index 6ff1804e0..ad0a272a4 100644
--- a/fem/conduitdatacollection.hpp
+++ b/fem/conduitdatacollection.hpp
@@ -17,7 +17,7 @@
#ifdef MFEM_USE_CONDUIT
#include "datacollection.hpp"
-#include <conduit.hpp>
+#include <conduit/conduit.hpp>
namespace mfem
{

View File

@ -1,13 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
from spack.pkg.builtin.mfem import Mfem as SpackMfem
class Mfem(SpackMfem):
patch(mfem_conduit_spack.patch)

View File

@ -6,7 +6,7 @@ diff -u mithra-2.0.orig/makefile mithra-2.0/makefile
SHELL = /bin/sh SHELL = /bin/sh
COMP = mpic++ COMP = mpic++
+CFLAGS+=-fPIC -fPIE +CFLAGS+=-fPIC
CFLAGS+=-std=c++11 CFLAGS+=-std=c++11
CFLAGS+=-O3 CFLAGS+=-O3

View File

@ -18,8 +18,6 @@ class Mithra(MakefilePackage):
version("2.0", sha256="66f27ba6ca2c1ab05abb76338d00e661a6fe96b95283b85409c37625b4758deb") version("2.0", sha256="66f27ba6ca2c1ab05abb76338d00e661a6fe96b95283b85409c37625b4758deb")
patch("mithra-fPIC.patch")
variant("mpi", default=True, description="Enable MPI support") variant("mpi", default=True, description="Enable MPI support")
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")

View File

@ -1,112 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# ----------------------------------------------------------------------------
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install opal-x
#
# You can edit this file again by typing:
#
# spack edit opal-x
#
# See the Spack documentation for more information on packaging.
# ----------------------------------------------------------------------------
from spack.package import *
class OpalX(CMakePackage, CudaPackage):
"""OPAL (Object Oriented Parallel Accelerator Library) is a parallel open source tool for charged-particle optics in linear accelerators and rings,
including 3D space charge. Using the MAD language with extensions, OPAL can run on a laptop as well as on the largest high performance computing systems.
OPAL is built from the ground up as a parallel application exemplifying the fact that high performance computing is the third leg of science,
complementing theory and experiment."""
homepage = "https://amas.web.psi.ch/opal/Documentation/master/OPAL_Manual.html"
git = "https://gitlab.psi.ch/OPAL/opal-x/src.git"
maintainers("germanne", "gsell")
license("GPLv3")
version('master', branch="master")
version('fixSolverUnits', branch="fixSolverUnits")
variant(
"build_type",
default="Release",
description="CMake build type",
values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
)
variant("mpi", default=True, description="Enable MPI support")
variant("solvers", default=True, description="Enable solvers")
variant("fft", default=True, description="Enable full-wave solver")
variant("tests", default=False, description="Enable tests")
variant("alternative_variant", default=False, description="Use alternative variant")
variant("alpine", default=False, description="Enable Alpine")
variant("unit_tests", default=False, description="Build unit tests")
variant("ippl_git_tag", default="master", description="IPPL git tag")
depends_on("blas")
depends_on("boost@1.82.0+mpi+chrono+filesystem+iostreams+regex+serialization+system+timer+python+shared")
depends_on("cmake@3.25.2:", type="build")
depends_on("fftw@3.3.10 +mpi")
depends_on("gsl@2.7+shared")
depends_on("gnutls@3.5.19:")
depends_on("cuda@12.4.0:")
depends_on("h5hut+mpi", when="+mpi")
depends_on("googletest@1.13.0: +shared", when="+tests")
# @master
depends_on("h5hut@2.0.0rc6:", when="@master")
# @2022.1%gcc@10.4.0
depends_on("h5hut@2.0.0rc6", when="@2022.1")
conflicts("~mpi", msg="OPAL can not run without mpi!")
conflicts("cuda_arch=none", when="+cuda",
msg="CUDA architecture is required")
conflicts("%gcc@:8.5.0", msg="gcc bigger than 8.5.0 is required")
@run_before("cmake")
def cmake_configure(self):
spec = self.spec
cmake_configure = Executable("./gen_OPALrevision")
cmake_configure()
def cmake_args(self):
args = [
"-DCMAKE_CXX_STANDARD=20",
self.define_from_variant("ENABLE_FFT", "fft"),
self.define_from_variant("ENABLE_SOLVERS", "solvers"),
self.define_from_variant("ENABLE_TESTS", "tests"),
self.define_from_variant("USE_ALTERNATIVE_VARIANT", "alternative_variant"),
self.define_from_variant("ENABLE_ALPINE", "alpine"),
self.define_from_variant("ENABLE_UNIT_TESTS", "unit_tests"),
"-DIPPL_GIT_TAG=opalx-fielddump",
"-DKokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC=OFF",
]
if '+cuda' in self.spec:
args.append("-DIPPL_PLATFORMS=CUDA")
else:
args.append("-DIPPL_PLATFORMS=openmp")
if 'cuda_arch=90' in self.spec:
args.append("-DKokkos_ARCH_HOPPER90=ON")
elif 'cuda_arch=80' in self.spec:
args.append("-DKokkos_ARCH_AMPERE80=ON")
elif 'cuda_arch=60' in self.spec:
args.append("-DKokkos_ARCH_PASCAL61=ON")
return args

View File

@ -22,7 +22,6 @@ class Opal(CMakePackage):
version('master', branch="master") version('master', branch="master")
version("2022.1.0", sha256="31f6811032e9d5400169d28a8ae6c7dee2e4a803ee82e90584d31ff7a0a18d80") version("2022.1.0", sha256="31f6811032e9d5400169d28a8ae6c7dee2e4a803ee82e90584d31ff7a0a18d80")
version("2024.1.0", sha256="65c4c263d6394b4b234323a74fc55eb963fb75cb80ea904d6c82054cfc64033c")
variant( variant(
"build_type", "build_type",
@ -46,12 +45,12 @@ class Opal(CMakePackage):
depends_on("blas") depends_on("blas")
depends_on("boost+chrono+filesystem+iostreams+regex+serialization+system+timer") depends_on("boost+chrono+filesystem+iostreams+regex+serialization+system+timer")
depends_on("boost+mpi", when="+mpi") depends_on("boost+mpi", when="+mpi")
depends_on("boost+python+shared", when="+python") depends_on("boost+python", when="+python")
depends_on("python@3.0:", when="+python") depends_on("python@3.0", when="+python")
depends_on( depends_on(
"boost+mpi+chrono+filesystem+iostreams+regex+serialization+system+timer", when="+mpi" "boost+mpi+chrono+filesystem+iostreams+regex+serialization+system+timer", when="+mpi"
) )
depends_on("gsl+shared") depends_on("gsl~shared")
depends_on("h5hut+mpi", when="+mpi") depends_on("h5hut+mpi", when="+mpi")
depends_on("h5hut~mpi", when="~mpi") depends_on("h5hut~mpi", when="~mpi")
@ -60,14 +59,14 @@ class Opal(CMakePackage):
"amrex@18.07 precision=double dimensions=3 +mpi~openmp+particles+pic~eb", "amrex@18.07 precision=double dimensions=3 +mpi~openmp+particles+pic~eb",
when="+amr+amr_mg_solver+mpi", when="+amr+amr_mg_solver+mpi",
) )
depends_on("googletest@1.10.0: +shared", when="+tests") depends_on("googletest@1.10.0:", when="+tests")
depends_on("mithra@2.0", when="+opal_fel") depends_on("mithra@2.0", when="+opal_fel")
depends_on( depends_on(
"trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia+shared gotype=long", "trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia gotype=long",
when="+saamg_solver", when="+saamg_solver",
) )
depends_on( depends_on(
"trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia+shared gotype=long", "trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia gotype=long",
when="+amr_mg_solver", when="+amr_mg_solver",
) )
depends_on("parmetis@4.0.3:", when="+saamg_solver") depends_on("parmetis@4.0.3:", when="+saamg_solver")
@ -75,8 +74,8 @@ class Opal(CMakePackage):
# @master # @master
depends_on("h5hut@2.0.0rc6", when="@master") depends_on("h5hut@2.0.0rc6", when="@master")
depends_on("trilinos@13.4.0: +shared", when="@master+saamg_solver") depends_on("trilinos@13.4.0:", when="@master+saamg_solver")
depends_on("trilinos@13.4.0: +shared", when="@master+amr_mg_solver") depends_on("trilinos@13.4.0:", when="@master+amr_mg_solver")
# @2022.1%gcc@10.4.0 # @2022.1%gcc@10.4.0
depends_on("h5hut@2.0.0rc6", when="@2022.1") depends_on("h5hut@2.0.0rc6", when="@2022.1")
@ -84,7 +83,6 @@ class Opal(CMakePackage):
depends_on("trilinos@13.4.0", when="@2022.1+amr_mg_solver") depends_on("trilinos@13.4.0", when="@2022.1+amr_mg_solver")
conflicts("~amr", "+amr_mg_solver") conflicts("~amr", "+amr_mg_solver")
conflicts("~mpi", msg="OPAL can not run without mpi!")
# AMRex version is too old for any newer Trilinos version # AMRex version is too old for any newer Trilinos version
requires( requires(
@ -107,12 +105,11 @@ class Opal(CMakePackage):
self.define_from_variant("ENABLE_AMR", "amr"), self.define_from_variant("ENABLE_AMR", "amr"),
self.define_from_variant("ENABLE_AMR_MG_SOLVER", "amr_mg_solver"), self.define_from_variant("ENABLE_AMR_MG_SOLVER", "amr_mg_solver"),
self.define_from_variant("ENABLE_BANDRF", "bandrf"), self.define_from_variant("ENABLE_BANDRF", "bandrf"),
self.define_from_variant("USE_STATIC_LIBRARIES", "static"),
self.define_from_variant("ENABLE_OPAL_FEL", "opal_fel"), self.define_from_variant("ENABLE_OPAL_FEL", "opal_fel"),
self.define_from_variant("ENABLE_SAAMG_SOLVER", "saamg_solver"), self.define_from_variant("ENABLE_SAAMG_SOLVER", "saamg_solver"),
self.define_from_variant("BUILD_OPAL_PYTHON", "python"), self.define_from_variant("BUILD_OPAL_PYTHON", "python"),
self.define_from_variant("WILL_BUILD_SHARED_LIBRARY", "python"),
self.define_from_variant("ENABLE_IPPLTESTS", "ippltests"), self.define_from_variant("ENABLE_IPPLTESTS", "ippltests"),
self.define_from_variant("ENABLE_MSLANG", "mslang"), self.define_from_variant("ENABLE_MSLANG", "mslang"),
] ]
return args return args

View File

@ -1,14 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
from spack.pkg.builtin.quantum_espresso import QuantumEspresso as SpackQuantumEspresso
class QuantumEspresso(SpackQuantumEspresso):
with when("%nvhpc +cuda"):
depends_on("cuda", type=("build","link","run"))

View File

@ -1,27 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
from spack.pkg.builtin.slurm import Slurm as SpackSlurm
class Slurm(SpackSlurm):
version("24-05-1-1", sha256="8859d90b29e6c81fdc80a16c9063c1ca58fda4245c3835016124cc044a44daec")
version("23-11-8-1", sha256="0e5aba8eb2b6a5b567a3918190a27d8ae3b60ce03acec225ec7ed2584fa450a1")
variant("cray_shasta", default=False, description="Enable Cray Shasta support")
def configure_args(self):
spec = self.spec
args=super().configure_args()
if "+cray_shasta" in spec:
args.append("--with-cray_shasta")
return args

View File

@ -1,14 +0,0 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
from spack.pkg.builtin.sratoolkit import Sratoolkit as SpackSratoolkit
class Sratoolkit(SpackSratoolkit):
version("3.1.1", sha256="600ff38589c15033c6d0fb4d1d055519e56175ea031b949a2d3f5a74151c6c12")