ADD: first commit
This commit is contained in:
55
README.md
55
README.md
@ -2,7 +2,19 @@ WIP
|
|||||||
|
|
||||||
# The PSI Spack Deployment
|
# The PSI Spack Deployment
|
||||||
|
|
||||||
[Official Spack documentation](https://spack.readthedocs.io/en/latest/)
|
## How to use on Merlin7
|
||||||
|
|
||||||
|
```bash
|
||||||
|
source /afs/psi.ch/sys/spack-rhel7/spack/share/spack/setup-env.sh # can be also include in your .bashrc
|
||||||
|
|
||||||
|
spack env list
|
||||||
|
spack env activate -d <package> # e.g ffbidx all for whole software stack
|
||||||
|
|
||||||
|
# Install env if local development, else skip
|
||||||
|
spack install # -v for verbose
|
||||||
|
|
||||||
|
spack load <package>
|
||||||
|
```
|
||||||
|
|
||||||
## How to use on Merlin6
|
## How to use on Merlin6
|
||||||
|
|
||||||
@ -16,4 +28,45 @@ spack env activate -d <package> # e.g ffbidx all for whole software stack
|
|||||||
spack install # -v for verbose
|
spack install # -v for verbose
|
||||||
|
|
||||||
spack load <package>
|
spack load <package>
|
||||||
|
|
||||||
|
# The OPAL Spack recipe
|
||||||
|
|
||||||
|
[Official Spack documentation](https://spack.readthedocs.io/en/latest/)
|
||||||
|
|
||||||
|
## Install Spack
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /scratch/$USER
|
||||||
|
git clone -c feature.manyFiles=true https://github.com/spack/spack.git
|
||||||
|
. spack/share/spack/setup-env.sh
|
||||||
|
|
||||||
|
# Add PSI specific recipes
|
||||||
|
cd OPAL/spack
|
||||||
|
spack repo add .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install OPAL@version
|
||||||
|
|
||||||
|
```bash
|
||||||
|
spack info opal # Find out which version and which variants you want to set
|
||||||
|
|
||||||
|
# Install env if local development, else skip
|
||||||
|
spack install opal@2022.1.0 # -v for verbose -j 8 for 8 parallel jobs
|
||||||
|
|
||||||
|
# Load environment before launching any scripts
|
||||||
|
spack load opal
|
||||||
|
|
||||||
|
sbatch ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Develop OPAL
|
||||||
|
|
||||||
|
```bash
|
||||||
|
spack env activate -d OPAL/spack/env/opal/
|
||||||
|
|
||||||
|
# $OPAL_SRC_DIRECTORY is where you did the git clone git@gitlab.psi.ch:OPAL/src.git
|
||||||
|
spack develop -p $OPAL_SRC_DIRECTORY opal@master
|
||||||
|
|
||||||
|
spack install # -v for verbose -j 8 for 8 parallel jobs
|
||||||
|
|
||||||
```
|
```
|
||||||
|
13699
env/rhel7/hyquas/spack.lock
vendored
13699
env/rhel7/hyquas/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
5689
env/rhel7/py-hiqsimulator/spack.lock
vendored
5689
env/rhel7/py-hiqsimulator/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
10
env/rhel7/py-hiqsimulator/test/run.slurm
vendored
10
env/rhel7/py-hiqsimulator/test/run.slurm
vendored
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
#SBATCH -N 4 # 4 nodes are requested
|
|
||||||
#SBATCH -t 00:03:00 # Walltime, 3 minutes
|
|
||||||
#SBATCH -n 8 # 8 processes are requested
|
|
||||||
#SBATCH --ntasks-per-socket=1 # 1 process per allocated socket
|
|
||||||
#SBATCH --hint=compute_bound # Use all cores in each socket, one thread per core
|
|
||||||
#SBATCH --exclusive # node should not be shared with other jobs
|
|
||||||
|
|
||||||
mpirun python3 ./examples/teleport_mpi.py # Execute program
|
|
16554
env/rhel7/stable/spack.lock
vendored
16554
env/rhel7/stable/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
54
env/rhel7/stable/spack.yaml
vendored
54
env/rhel7/stable/spack.yaml
vendored
@ -1,54 +0,0 @@
|
|||||||
spack:
|
|
||||||
concretizer:
|
|
||||||
unify: when_possible
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/spack/spack-stage
|
|
||||||
install_missing_compilers: true
|
|
||||||
definitions:
|
|
||||||
- gcc_mpi:
|
|
||||||
- ^openmpi%gcc
|
|
||||||
- gcc_6.1.0_pckgs:
|
|
||||||
- trilinos@11.14.3 +mpi+cuda cuda_arch=60 ~tpetra
|
|
||||||
- gcc_12.1.0_pckgs:
|
|
||||||
- gromacs@2022.5 +mpi
|
|
||||||
- h5hut@2.0.0rc3 +mpi
|
|
||||||
- lammps@20221222
|
|
||||||
- quantum-espresso@7.0 hdf5=parallel
|
|
||||||
- trilinos@13.4.1
|
|
||||||
- intel_mpi:
|
|
||||||
- ^intel-oneapi-mpi@2021.8.0
|
|
||||||
- intel_pckgs:
|
|
||||||
- gromacs@2022.5
|
|
||||||
- nvhpc_mpi:
|
|
||||||
- ^openmpi%nvhpc
|
|
||||||
- nvhpc_pckgs:
|
|
||||||
- quantum-espresso@7.0 +mpi+cuda hdf5=parallel
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
specs:
|
|
||||||
- gams@31.1.1
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_6.1.0_pckgs]
|
|
||||||
- [$gcc_mpi]
|
|
||||||
- [^openblas]
|
|
||||||
- ['%gcc@6.1.0']
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_12.1.0_pckgs]
|
|
||||||
- [$gcc_mpi]
|
|
||||||
- [^hdf5%gcc@12.1.0]
|
|
||||||
- [^openblas]
|
|
||||||
- ['%gcc@12.1.0']
|
|
||||||
- matrix:
|
|
||||||
- [$intel_pckgs]
|
|
||||||
- [$intel_mpi]
|
|
||||||
- [^intel-oneapi-mkl]
|
|
||||||
- ['%oneapi@2022.2.1']
|
|
||||||
- matrix:
|
|
||||||
- [$nvhpc_pckgs]
|
|
||||||
- [$nvhpc_mpi]
|
|
||||||
- [^hdf5%nvhpc@23.1]
|
|
||||||
- ['%nvhpc@23.1']
|
|
||||||
view: false
|
|
53
env/rhel7/sysconfigs/compilers.yaml
vendored
53
env/rhel7/sysconfigs/compilers.yaml
vendored
@ -1,53 +0,0 @@
|
|||||||
compilers:
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /usr/bin/gcc
|
|
||||||
cxx: /usr/bin/g++
|
|
||||||
f77: /usr/bin/gfortran
|
|
||||||
fc: /usr/bin/gfortran
|
|
||||||
spec: gcc@4.8.5
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /opt/psi/Programming/gcc/9.5.0/bin/gcc
|
|
||||||
cxx: /opt/psi/Programming/gcc/9.5.0/bin/g++
|
|
||||||
f77: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
|
|
||||||
fc: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
|
|
||||||
spec: gcc@9.5.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
|
|
||||||
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
|
|
||||||
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
|
|
||||||
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
|
|
||||||
spec: gcc@12.1.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc
|
|
||||||
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc++
|
|
||||||
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
|
|
||||||
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
|
|
||||||
spec: nvhpc@23.1
|
|
||||||
target: x86_64
|
|
106
env/rhel7/sysconfigs/modules.yaml
vendored
106
env/rhel7/sysconfigs/modules.yaml
vendored
@ -1,106 +0,0 @@
|
|||||||
modules:
|
|
||||||
default:
|
|
||||||
tcl:
|
|
||||||
hash_length: 3
|
|
||||||
projections:
|
|
||||||
all: '{name}/{version}-{compiler.name}-{compiler.version}'
|
|
||||||
exclude: ['at-spi2-atk', 'at-spi2-core', 'libxft', 'atk', 'libxi', 'libxkbcommon',' libxkbfile', 'bdftopcf','berkeley-db',
|
|
||||||
'libxrandr','bison@3.8.2', 'libxrender','libxslt','bzip2','libxtst','cairo','libyaml','libzmq','dbus','diffutils','mkfontdir',
|
|
||||||
'docbook-xml', 'mkfontscale','docbook-xsl','msgpack-c', 'elfutils', 'munge','expat', 'ncurses','fixesproto', 'numactl', 'flex',
|
|
||||||
'font-util', 'fontconfig', 'fontsproto','freetype', 'pango', 'gawk', 'pcre', 'pcre2', 'gdbm', 'gdk-pixbuf', 'gettext', 'glib',
|
|
||||||
'gobject-introspection', 'gperf','gtkplus', 'harfbuzz','http-parser', 'inputproto', 'intltool','jansson','jemalloc','json-c',
|
|
||||||
'json-glib','kbproto', 'pixman', 'pkg-config', 'pmix', 'libaio', 'libbsd', 'libedit','libepoxy','libevent','libffi','libfontenc',
|
|
||||||
'libgcrypt','libgpg-error','libice','libiconv', 'libidn2','libjwt', 'libmd',' randrproto', 'readline', 'recordproto','renderproto',
|
|
||||||
'shared-mime-info', 'sqlite','libpciaccess','libpthread-stubs', 'libsm','libsodium','libtool', 'libunistring', 'libx11', 'libxau',
|
|
||||||
'lixcb', 'util-linux-uuid', 'util-macros', 'xcb-proto', 'xextproto', 'xkbcomp','xkbdata','xmlto','xproto','xz','zlib',
|
|
||||||
'libxcrypt', 'libxdmcp', 'libxext', 'libxfixes', 'xtrans', 'zstd', 'librsvg', 'libxfont', 'libxcb', 'fribidi', 'kokkos-nvcc-wrapper']
|
|
||||||
all:
|
|
||||||
autoload: direct
|
|
||||||
conflict:
|
|
||||||
- '{name}'
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
intel-oneapi-mpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
I_MPI_CXX: 'mpiicpc'
|
|
||||||
I_MPI_F77: 'mpiifort'
|
|
||||||
I_MPI_F90: 'mpiifort'
|
|
||||||
I_MPI_FC: 'mpiifort'
|
|
||||||
I_MPI_ICC: 'mpiicc'
|
|
||||||
MPIEXEC: 'mpiexec.hydra'
|
|
||||||
MPIFC: 'mpiifort'
|
|
||||||
MPIFORTRAN: 'mpiifort'
|
|
||||||
MPIRUN: 'mpirun'
|
|
||||||
mpich:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
MPIEXEC: ${prefix}/bin/mpiexec
|
|
||||||
MPIFC: ${prefix}/bin/mpif90
|
|
||||||
MPIFORTRAN: ${prefix}/bin/mpif90
|
|
||||||
MPIRUN: ${prefix}/bin/mpirun
|
|
||||||
openblas:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
BLASLIB: ${prefix}/libopenblas.a
|
|
||||||
openmpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
MPIEXEC: ${prefix}/bin/mpiexec
|
|
||||||
MPIFC: ${prefix}/bin/mpif90
|
|
||||||
MPIFORTRAN: ${prefix}/bin/mpif90
|
|
||||||
MPIRUN: ${prefix}/bin/mpirun
|
|
||||||
root:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
ROOTSYS: ${prefix}
|
|
||||||
cuda:
|
|
||||||
environment:
|
|
||||||
prepend_path:
|
|
||||||
${PACKAGE}_PATH: '{prefix}'
|
|
||||||
LIBRARY_PATH: '{prefix}/lib64/stubs:{prefix}/targets/x86_64-linux/lib/stubs'
|
|
||||||
set:
|
|
||||||
${PACKAGE}_DIR: '{prefix}'
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
|
|
||||||
${PACKAGE}_PATH: '{prefix}'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
hdf5~mpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
${PACKAGE}_DIR: '{prefix}'
|
|
||||||
${PACKAGE}_HOME: '{prefix}'
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib:{prefix}/lib64'
|
|
||||||
${PACKAGE}_PREFIX: '{prefix}'
|
|
||||||
${PACKAGE}_ROOT: '{prefix}'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
prefix_inspections:
|
|
||||||
'':
|
|
||||||
- CMAKE_PREFIX_PATH
|
|
||||||
bin:
|
|
||||||
- PATH
|
|
||||||
include:
|
|
||||||
- C_INCLUDE_PATH
|
|
||||||
- CPLUS_INCLUDE_PATH
|
|
||||||
lib:
|
|
||||||
- LIBRARY_PATH
|
|
||||||
- LD_LIBRARY_PATH
|
|
||||||
lib/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
||||||
lib64:
|
|
||||||
- LIBRARY_PATH
|
|
||||||
- LD_LIBRARY_PATH
|
|
||||||
lib64/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
||||||
man:
|
|
||||||
- MANPATH
|
|
||||||
share/aclocal:
|
|
||||||
- ACLOCAL_PATH
|
|
||||||
share/man:
|
|
||||||
- MANPATH
|
|
||||||
share/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
363
env/rhel7/sysconfigs/packages.yaml
vendored
363
env/rhel7/sysconfigs/packages.yaml
vendored
@ -1,363 +0,0 @@
|
|||||||
---
|
|
||||||
packages:
|
|
||||||
all:
|
|
||||||
providers:
|
|
||||||
pkgconfig: [ pkg-config ]
|
|
||||||
target:
|
|
||||||
- haswell
|
|
||||||
autoconf:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: autoconf@2.69
|
|
||||||
automake:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: automake@1.13.4
|
|
||||||
berkeley-db:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
binutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: binutils@2.27.44
|
|
||||||
boost:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
bzip2:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: bzip2@1.0.6
|
|
||||||
ca-certificates-mozilla:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
cairo:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
cmake:
|
|
||||||
require: '@3.25.2%gcc@4.8.5'
|
|
||||||
coreutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: coreutils@8.22
|
|
||||||
cpio:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: cpio@2.11
|
|
||||||
|
|
||||||
ctffind:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
cuda:
|
|
||||||
externals:
|
|
||||||
- prefix: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/cuda/
|
|
||||||
spec: cuda@12.0.0%nvhpc@23.1
|
|
||||||
curl:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: curl@7.29.0+ldap
|
|
||||||
cvs:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: cvs@1.11.23
|
|
||||||
diffutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: diffutils@3.3
|
|
||||||
doxygen:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: doxygen@1.8.5+graphviz~mscgen
|
|
||||||
expat:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: expat@1.6.0
|
|
||||||
file:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: file@5.11
|
|
||||||
findutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: findutils@4.5.11
|
|
||||||
flex:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: flex@2.5.37+lex
|
|
||||||
fltk:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
fontconfig:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
gams:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
|
|
||||||
spec: gams@31.1.1%gcc@4.8.5
|
|
||||||
gawk:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: gawk@4.0.2
|
|
||||||
gdbm:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
gettext:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
ghostscript:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: ghostscript@9.25
|
|
||||||
git:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: git@1.8.3.1~tcltk
|
|
||||||
glew:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: glew@1.10.0
|
|
||||||
gmake:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: gmake@3.82
|
|
||||||
groff:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: groff@1.22.2
|
|
||||||
harfbuzz:
|
|
||||||
require: '@5.1.0%gcc@12.1.0'
|
|
||||||
hcoll:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/mellanox/hcoll
|
|
||||||
spec: hcoll@3.9.1927
|
|
||||||
libbsd:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libcroco:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libcroco@0.6.13
|
|
||||||
libepoxy:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libepoxy@0.0.0
|
|
||||||
libevent:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libfuse:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libfuse@3.6.1
|
|
||||||
libice:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libice@6.3.0
|
|
||||||
libiconv:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libidn2:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libjpeg-turbo:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libjpeg-turbo@62.1.0
|
|
||||||
libmd:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libpciaccess:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libpthread:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libpthread@2.17
|
|
||||||
libpthread-stubs:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libpthread-stubs@0.4
|
|
||||||
libreadline:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libreadline@6.2
|
|
||||||
librsvg:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: librsvg@2.40.20
|
|
||||||
libsigsegv:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libtiff:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libtiff@5.2.0
|
|
||||||
libtool:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libtool@2.4.2
|
|
||||||
libx11:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libx11@6.3.0
|
|
||||||
libxext:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libxext@6.4.0
|
|
||||||
libxft:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libxft@2.3.2
|
|
||||||
libxml2:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
libxpm:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libxpm@4.11.0
|
|
||||||
libxt:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libxt@6.0.0
|
|
||||||
m4:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: m4@1.4.16
|
|
||||||
ncurses:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: ncurses@5.9.20130511
|
|
||||||
ninja:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
nlohmann-json:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: nlohmann-json@3.10.5
|
|
||||||
numactl:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: numactl@2.0.14
|
|
||||||
openblas:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
openmpi:
|
|
||||||
externals:
|
|
||||||
- prefix: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/comm_libs/openmpi4/openmpi-4.0.5
|
|
||||||
spec: openmpi@4.0.5%nvhpc@23.1
|
|
||||||
require:
|
|
||||||
- one_of: [
|
|
||||||
"openmpi@4.1.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
|
|
||||||
"openmpi@4.0.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
|
|
||||||
"openmpi@4.0.5%gcc",
|
|
||||||
"openmpi@4.0.5%nvhpc@23.1"
|
|
||||||
]
|
|
||||||
openssh:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: openssh@7.4p1
|
|
||||||
openssl:
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: openssl@1.0.2k-fips
|
|
||||||
pcre2:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: pcre2@8.32
|
|
||||||
perl:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
pkg-config:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: pkg-config@0.27.1
|
|
||||||
py-fypp:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
python:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
readline:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
rsync:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: rsync@3.1.2
|
|
||||||
ruby:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: ruby@2.0.0p648
|
|
||||||
sed:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: sed@4.2.2
|
|
||||||
slurm:
|
|
||||||
require: '+pmix +hwloc +gtk +readline +restd +mariadb'
|
|
||||||
sqlite:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: sqlite@3.7.17
|
|
||||||
subversion:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: subversion@1.7.14
|
|
||||||
tar:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: tar@1.26
|
|
||||||
texinfo:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: texinfo@5.1
|
|
||||||
unuran:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
util-linux-uuid:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
util-macros:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
valgrind:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
xerces-c:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: xerces-c@3.1
|
|
||||||
xxhash:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
xz:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: xz@5.2.2
|
|
||||||
zlib:
|
|
||||||
require: '%gcc@4.8.5'
|
|
||||||
zstd:
|
|
||||||
require: '%gcc@4.8.5'
|
|
16169
env/rhel7/unstable/spack.lock
vendored
16169
env/rhel7/unstable/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
140
env/rhel7/unstable/spack.yaml
vendored
140
env/rhel7/unstable/spack.yaml
vendored
@ -1,140 +0,0 @@
|
|||||||
spack:
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/spack/spack-stage
|
|
||||||
install_missing_compilers: true
|
|
||||||
concretizer:
|
|
||||||
unify: when_possible
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
definitions:
|
|
||||||
- gcc_mpi:
|
|
||||||
- ^openmpi%gcc
|
|
||||||
- gcc_6.1.0_pckgs:
|
|
||||||
- trilinos +mpi+cuda cuda_arch=60 ~tpetra
|
|
||||||
- gcc_12.1.0_pckgs:
|
|
||||||
- gromacs +mpi
|
|
||||||
- h5hut +mpi
|
|
||||||
- lammps
|
|
||||||
- quantum-espresso hdf5=parallel
|
|
||||||
- trilinos
|
|
||||||
- intel_mpi:
|
|
||||||
- ^intel-oneapi-mpi@2021.8.0
|
|
||||||
- intel_pckgs:
|
|
||||||
- gromacs@2022.4
|
|
||||||
- nvhpc_mpi:
|
|
||||||
- ^openmpi%nvhpc
|
|
||||||
- nvhpc_pckgs:
|
|
||||||
- quantum-espresso +mpi+cuda hdf5=parallel
|
|
||||||
specs:
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_12.1.0_pckgs]
|
|
||||||
- [$gcc_mpi]
|
|
||||||
- [^hdf5%gcc@12.1.0]
|
|
||||||
- [^openblas]
|
|
||||||
- ['%gcc@12.1.0']
|
|
||||||
- matrix:
|
|
||||||
- [$intel_pckgs]
|
|
||||||
- [$intel_mpi]
|
|
||||||
- [^intel-oneapi-mkl]
|
|
||||||
- ['%oneapi@2022.2.1']
|
|
||||||
- matrix:
|
|
||||||
- [$nvhpc_pckgs]
|
|
||||||
- [$nvhpc_mpi]
|
|
||||||
- [^hdf5%nvhpc@23.1]
|
|
||||||
- ['%nvhpc@23.1']
|
|
||||||
view: false
|
|
||||||
compilers:
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /usr/bin/gcc
|
|
||||||
cxx: /usr/bin/g++
|
|
||||||
f77: /usr/bin/gfortran
|
|
||||||
fc: /usr/bin/gfortran
|
|
||||||
spec: gcc@4.8.5
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /opt/psi/Programming/gcc/6.1.0/bin/gcc
|
|
||||||
cxx: /opt/psi/Programming/gcc/6.1.0/bin/g++
|
|
||||||
f77: /opt/psi/Programming/gcc/6.1.0/bin/gfortran
|
|
||||||
fc: /opt/psi/Programming/gcc/6.1.0/bin/gfortran
|
|
||||||
spec: gcc@6.1.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /opt/psi/Programming/gcc/12.1.0/bin/gcc
|
|
||||||
cxx: /opt/psi/Programming/gcc/12.1.0/bin/g++
|
|
||||||
f77: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
|
|
||||||
fc: /opt/psi/Programming/gcc/12.1.0/bin/gfortran
|
|
||||||
spec: gcc@12.1.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules: []
|
|
||||||
operating_system: rhel7
|
|
||||||
paths:
|
|
||||||
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc
|
|
||||||
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvc++
|
|
||||||
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
|
|
||||||
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/nvhpc-23.1-6barulbmh2l6pgbzulzcyta4kb57csgu/Linux_x86_64/23.1/compilers/bin/nvfortran
|
|
||||||
spec: nvhpc@23.1
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
spec: gcc@4.8.5
|
|
||||||
paths:
|
|
||||||
cc: /usr/bin/gcc
|
|
||||||
cxx: /usr/bin/g++
|
|
||||||
f77: /usr/bin/gfortran
|
|
||||||
fc: /usr/bin/gfortran
|
|
||||||
flags: {}
|
|
||||||
operating_system: rhel7
|
|
||||||
target: x86_64
|
|
||||||
modules: []
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
- compiler:
|
|
||||||
spec: dpcpp@2022.2.1
|
|
||||||
paths:
|
|
||||||
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icx
|
|
||||||
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/dpcpp
|
|
||||||
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
|
|
||||||
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
|
|
||||||
flags: {}
|
|
||||||
operating_system: rhel7
|
|
||||||
target: x86_64
|
|
||||||
modules: []
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
- compiler:
|
|
||||||
spec: oneapi@2022.2.1
|
|
||||||
paths:
|
|
||||||
cc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icx
|
|
||||||
cxx: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/icpx
|
|
||||||
f77: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
|
|
||||||
fc: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack/linux-rhel7-haswell/gcc-12.1.0/intel-oneapi-compilers-2022.2.1-33g2lmhbfkd2kx2bhwbetcnf2zk625t7/compiler/2022.2.1/linux/bin/ifx
|
|
||||||
flags: {}
|
|
||||||
operating_system: rhel7
|
|
||||||
target: x86_64
|
|
||||||
modules: []
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
24
env/sles15/ffbidx/spack.yaml
vendored
24
env/sles15/ffbidx/spack.yaml
vendored
@ -1,24 +1,4 @@
|
|||||||
spack:
|
spack:
|
||||||
upstreams:
|
|
||||||
spack-instance-1:
|
|
||||||
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/$user/spack-stage
|
|
||||||
install_tree:
|
|
||||||
root: /data/user/$user/spack-install
|
|
||||||
concretizer:
|
|
||||||
unify: true
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
repos:
|
|
||||||
- ../../../
|
|
||||||
specs:
|
specs:
|
||||||
- openblas
|
- ffbidx@main%gcc+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60
|
||||||
- ffbidx@main%gcc@12.1.0+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60
|
view: false
|
||||||
develop:
|
|
||||||
ffbidx:
|
|
||||||
path: /scratch/$user/spack-dev/fast-feedback-indexer
|
|
||||||
spec: ffbidx@main+python+simple_data_files+simple_data_indexer+test_all cuda_arch=60
|
|
||||||
|
35
env/sles15/hyquas/spack.yaml
vendored
35
env/sles15/hyquas/spack.yaml
vendored
@ -1,31 +1,10 @@
|
|||||||
spack:
|
spack:
|
||||||
upstreams:
|
|
||||||
spack-instance-1:
|
|
||||||
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/$user/spack-stage
|
|
||||||
install_tree:
|
|
||||||
root: /data/user/$user/spack-install
|
|
||||||
concretizer:
|
|
||||||
unify: true
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
repos:
|
|
||||||
- ../../../
|
|
||||||
specs:
|
specs:
|
||||||
- git-lfs
|
- git-lfs
|
||||||
- cmake@3.25.2%gcc@12.1.0
|
- cmake@3.25.2%gcc@12.1.0
|
||||||
- openmpi@4.1.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda
|
- openmpi@4.1.5%gcc schedulers=slurm fabrics=auto +pmi +cxx +cxx_exceptions +cuda
|
||||||
+legacylaunchers ^slurm +pmix +hwloc +gtk +readline +restd +mariadb
|
+legacylaunchers ^slurm +pmix +hwloc +gtk +readline +restd +mariadb
|
||||||
- cuda@11.0.2
|
- cuda@11.0.2
|
||||||
- hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
|
- hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
|
||||||
backend=mix mat_size=7
|
backend=mix mat_size=7
|
||||||
develop:
|
|
||||||
hyquas:
|
|
||||||
path: /scratch/$user/spack-dev/HyQuas
|
|
||||||
spec: hyquas@main%gcc+cuda cuda_arch=70 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
|
|
||||||
backend=mix mat_size=7
|
|
||||||
view: false
|
view: false
|
||||||
|
9
env/sles15/opal/spack.yaml
vendored
Normal file
9
env/sles15/opal/spack.yaml
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
spack:
|
||||||
|
repos:
|
||||||
|
- ../../
|
||||||
|
specs:
|
||||||
|
- opal@master%gcc@11.3.0
|
||||||
|
develop:
|
||||||
|
opal:
|
||||||
|
spec: opal@=master
|
||||||
|
path: /home/germann_e/OPAL/src/
|
5689
env/sles15/py-hiqsimulator/spack.lock
vendored
5689
env/sles15/py-hiqsimulator/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
24
env/sles15/py-hiqsimulator/spack.yaml
vendored
24
env/sles15/py-hiqsimulator/spack.yaml
vendored
@ -1,25 +1,5 @@
|
|||||||
spack:
|
spack:
|
||||||
upstreams:
|
|
||||||
spack-instance-1:
|
|
||||||
install_tree: /afs/psi.ch/sys/spack-rhel7/spack/opt/spack
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/$user/spack-stage
|
|
||||||
install_tree:
|
|
||||||
root: /data/user/$user/spack-install
|
|
||||||
concretizer:
|
|
||||||
unify: true
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
repos:
|
|
||||||
- ../../../
|
|
||||||
specs:
|
specs:
|
||||||
- openmpi@4.1.5%gcc
|
- openmpi@4.1.5%gcc
|
||||||
- py-hiqsimulator@develop%gcc
|
- py-hiqsimulator@develop%gcc
|
||||||
develop:
|
|
||||||
py-hiqsimulator:
|
|
||||||
path: /scratch/$user/spack-dev/HiQsimulator
|
|
||||||
spec: py-hiqsimulator@develop%gcc
|
|
||||||
view: false
|
view: false
|
||||||
|
10
env/sles15/py-hiqsimulator/test/run.slurm
vendored
10
env/sles15/py-hiqsimulator/test/run.slurm
vendored
@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
#SBATCH -N 4 # 4 nodes are requested
|
|
||||||
#SBATCH -t 00:03:00 # Walltime, 3 minutes
|
|
||||||
#SBATCH -n 8 # 8 processes are requested
|
|
||||||
#SBATCH --ntasks-per-socket=1 # 1 process per allocated socket
|
|
||||||
#SBATCH --hint=compute_bound # Use all cores in each socket, one thread per core
|
|
||||||
#SBATCH --exclusive # node should not be shared with other jobs
|
|
||||||
|
|
||||||
mpirun python3 ./examples/teleport_mpi.py # Execute program
|
|
7608
env/sles15/stable/spack.lock
vendored
7608
env/sles15/stable/spack.lock
vendored
File diff suppressed because it is too large
Load Diff
67
env/sles15/stable/spack.yaml
vendored
67
env/sles15/stable/spack.yaml
vendored
@ -1,67 +0,0 @@
|
|||||||
spack:
|
|
||||||
concretizer:
|
|
||||||
unify: false
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/spack/spack-stage
|
|
||||||
definitions:
|
|
||||||
- aocc_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- aocc_pckgs:
|
|
||||||
- gromacs@2021.7
|
|
||||||
- cce_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- cce_pckgs:
|
|
||||||
- gromacs@2021.7
|
|
||||||
- gcc_7.5.0_mpi:
|
|
||||||
- ^openmpi@4.1.5
|
|
||||||
- gcc_11.2.0_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- gcc_7.5.0_pckgs:
|
|
||||||
- trilinos@11.14.3 +mpi+cuda cuda_arch=60 ~tpetra
|
|
||||||
- gcc_11.2.0_pckgs:
|
|
||||||
- gams@31.1.1
|
|
||||||
- gromacs@2022.5 +mpi
|
|
||||||
- h5hut@2.0.0rc3 +mpi
|
|
||||||
- lammps@20221222
|
|
||||||
- trilinos@13.4.1 ~fortran
|
|
||||||
- intel_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- ^openmpi%oneapi
|
|
||||||
- intel_pckgs:
|
|
||||||
- gromacs@2023.1 ^cmake@3.25.2%gcc@7.5.0
|
|
||||||
- nvhpc_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- nvhpc_pckgs:
|
|
||||||
- quantum-espresso@7.0 +mpi+cuda
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
specs:
|
|
||||||
- matrix:
|
|
||||||
- [$aocc_pckgs]
|
|
||||||
- [$aocc_mpi]
|
|
||||||
- ['%aocc@3.1.0']
|
|
||||||
- matrix:
|
|
||||||
- [$cce_pckgs]
|
|
||||||
- [$cce_mpi]
|
|
||||||
- ['%cce@13.0.0']
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_7.5.0_pckgs]
|
|
||||||
- [$gcc_7.5.0_mpi]
|
|
||||||
- [^openblas]
|
|
||||||
- ['%gcc@7.5.0']
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_11.2.0_pckgs]
|
|
||||||
- [$gcc_11.2.0_mpi]
|
|
||||||
- ['%gcc@11.2.0']
|
|
||||||
- matrix:
|
|
||||||
- [$nvhpc_pckgs]
|
|
||||||
- [$nvhpc_mpi]
|
|
||||||
- ['%nvhpc@20.9']
|
|
||||||
- matrix:
|
|
||||||
- [$intel_pckgs]
|
|
||||||
- [$intel_mpi]
|
|
||||||
- ['%oneapi@2021.2.0']
|
|
||||||
view: false
|
|
125
env/sles15/sysconfigs/compilers.yaml
vendored
125
env/sles15/sysconfigs/compilers.yaml
vendored
@ -1,125 +0,0 @@
|
|||||||
compilers:
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-cray/8.3.0
|
|
||||||
- cce/13.0.0
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: cce@13.0.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-gnu/8.3.0
|
|
||||||
- gcc/11.2.0
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: gcc@11.2.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: /usr/bin/gcc
|
|
||||||
cxx: /usr/bin/g++
|
|
||||||
f77: /usr/bin/gfortran
|
|
||||||
fc: /usr/bin/gfortran
|
|
||||||
spec: gcc@7.5.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-nvidia/8.3.0
|
|
||||||
- nvidia/20.9
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: nvhpc@20.9
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-intel/8.3.0
|
|
||||||
- intel/2021.2.0
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: intel@2021.2.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-intel/8.3.0
|
|
||||||
- intel-oneapi/2021.2.0
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: oneapi@2021.2.0
|
|
||||||
target: x86_64
|
|
||||||
- compiler:
|
|
||||||
environment: {}
|
|
||||||
extra_rpaths: []
|
|
||||||
flags: {}
|
|
||||||
modules:
|
|
||||||
- PrgEnv-aocc/8.3.0
|
|
||||||
- aocc/3.1.0
|
|
||||||
- libfabric/1.15.2.0
|
|
||||||
- craype-x86-rome
|
|
||||||
- xpmem/2.4.4-2.3_13.8__gff0e1d9.shasta
|
|
||||||
operating_system: sles15
|
|
||||||
paths:
|
|
||||||
cc: cc
|
|
||||||
cxx: CC
|
|
||||||
f77: ftn
|
|
||||||
fc: ftn
|
|
||||||
spec: aocc@3.1.0
|
|
||||||
target: x86_64
|
|
94
env/sles15/sysconfigs/modules.yaml
vendored
94
env/sles15/sysconfigs/modules.yaml
vendored
@ -1,94 +0,0 @@
|
|||||||
modules:
|
|
||||||
default:
|
|
||||||
tcl:
|
|
||||||
blacklist_implicits: true
|
|
||||||
all:
|
|
||||||
autoload: direct
|
|
||||||
conflict:
|
|
||||||
- '{name}'
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
intel-oneapi-mpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
I_MPI_CXX: 'mpiicpc'
|
|
||||||
I_MPI_F77: 'mpiifort'
|
|
||||||
I_MPI_F90: 'mpiifort'
|
|
||||||
I_MPI_FC: 'mpiifort'
|
|
||||||
I_MPI_ICC: 'mpiicc'
|
|
||||||
MPIEXEC: 'mpiexec.hydra'
|
|
||||||
MPIFC: 'mpiifort'
|
|
||||||
MPIFORTRAN: 'mpiifort'
|
|
||||||
MPIRUN: 'mpirun'
|
|
||||||
mpich:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
MPIEXEC: ${prefix}/bin/mpiexec
|
|
||||||
MPIFC: ${prefix}/bin/mpif90
|
|
||||||
MPIFORTRAN: ${prefix}/bin/mpif90
|
|
||||||
MPIRUN: ${prefix}/bin/mpirun
|
|
||||||
openblas:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
BLASLIB: ${prefix}/libopenblas.a
|
|
||||||
openmpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
MPIEXEC: ${prefix}/bin/mpiexec
|
|
||||||
MPIFC: ${prefix}/bin/mpif90
|
|
||||||
MPIFORTRAN: ${prefix}/bin/mpif90
|
|
||||||
MPIRUN: ${prefix}/bin/mpirun
|
|
||||||
root:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
ROOTSYS: ${prefix}
|
|
||||||
cuda:
|
|
||||||
environment:
|
|
||||||
prepend_path:
|
|
||||||
${PACKAGE}_PATH: '{prefix}'
|
|
||||||
LIBRARY_PATH: '{prefix}/lib64/stubs:{prefix}/targets/x86_64-linux/lib/stubs'
|
|
||||||
set:
|
|
||||||
${PACKAGE}_DIR: '{prefix}'
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
|
|
||||||
${PACKAGE}_PATH: '{prefix}'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
hdf5~mpi:
|
|
||||||
environment:
|
|
||||||
set:
|
|
||||||
${PACKAGE}_DIR: '{prefix}'
|
|
||||||
${PACKAGE}_HOME: '{prefix}'
|
|
||||||
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
|
|
||||||
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib:{prefix}/lib64'
|
|
||||||
${PACKAGE}_PREFIX: '{prefix}'
|
|
||||||
${PACKAGE}_ROOT: '{prefix}'
|
|
||||||
${PACKAGE}_VERSION: '{version}'
|
|
||||||
prefix_inspections:
|
|
||||||
'':
|
|
||||||
- CMAKE_PREFIX_PATH
|
|
||||||
bin:
|
|
||||||
- PATH
|
|
||||||
include:
|
|
||||||
- C_INCLUDE_PATH
|
|
||||||
- CPLUS_INCLUDE_PATH
|
|
||||||
lib:
|
|
||||||
- LIBRARY_PATH
|
|
||||||
- LD_LIBRARY_PATH
|
|
||||||
lib/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
||||||
lib64:
|
|
||||||
- LIBRARY_PATH
|
|
||||||
- LD_LIBRARY_PATH
|
|
||||||
lib64/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
||||||
man:
|
|
||||||
- MANPATH
|
|
||||||
share/aclocal:
|
|
||||||
- ACLOCAL_PATH
|
|
||||||
share/man:
|
|
||||||
- MANPATH
|
|
||||||
share/pkgconfig:
|
|
||||||
- PKG_CONFIG_PATH
|
|
283
env/sles15/sysconfigs/packages.yaml
vendored
283
env/sles15/sysconfigs/packages.yaml
vendored
@ -1,283 +0,0 @@
|
|||||||
---
|
|
||||||
packages:
|
|
||||||
all:
|
|
||||||
providers:
|
|
||||||
blas: [ cray-libsci ]
|
|
||||||
mpi: [ cray-mpich ]
|
|
||||||
pkgconfig: [ pkg-config ]
|
|
||||||
target:
|
|
||||||
- zen
|
|
||||||
autoconf:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: autoconf@2.69
|
|
||||||
automake:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: automake@1.15.1
|
|
||||||
berkeley-db:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
binutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: binutils@2.37.20211103
|
|
||||||
bison:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: bison@3.0.4
|
|
||||||
boost:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
ca-certificates-mozilla:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
cairo:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
cmake:
|
|
||||||
externals:
|
|
||||||
- spec: cmake@3.17.0
|
|
||||||
prefix: /usr
|
|
||||||
require:
|
|
||||||
- one_of: [
|
|
||||||
"cmake@3.17.0",
|
|
||||||
"cmake@3.25.2%gcc@7.5.0"
|
|
||||||
]
|
|
||||||
coreutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: coreutils@8.32
|
|
||||||
cray-libsci:
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-libsci/21.08.1.2
|
|
||||||
spec: cray-libsci@21.08.1.2
|
|
||||||
cray-mpich:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-mpich/8.1.12
|
|
||||||
spec: cray-mpich@8.1.12 ~wrappers
|
|
||||||
ctffind:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
cuda:
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/nvidia/hpc_sdk/Linux_x86_64/20.9/cuda
|
|
||||||
spec: cuda@11.0.0%nvhpc@20.9
|
|
||||||
curl:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: curl@7.66.0+gssapi+ldap+nghttp2
|
|
||||||
diffutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: diffutils@3.6
|
|
||||||
expat:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
fftw:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-fftw/3.3.8.13
|
|
||||||
spec: fftw@3.3.8.13
|
|
||||||
findutils:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: findutils@4.8.0
|
|
||||||
flex:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: flex@2.6.4+lex
|
|
||||||
fltk:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
fontconfig:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
gams:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/psi/Tools/GAMS/31.1.1/gams31.1_linux_x64_64_sfx
|
|
||||||
spec: gams@31.1.1%gcc
|
|
||||||
gawk:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: gawk@4.2.1
|
|
||||||
gcc:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
gdbm:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
gettext:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
git:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: git@2.35.3~tcltk
|
|
||||||
gmake:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: gmake@4.2.1
|
|
||||||
groff:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: groff@1.22.3
|
|
||||||
hdf5:
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-hdf5-parallel/1.12.0.7
|
|
||||||
spec: hdf5@1.12.0.7+mpi
|
|
||||||
- prefix: /opt/cray/pe/hdf5-parallel/1.12.0.7/nvidia/20.7
|
|
||||||
spec: hdf5@1.12.0.7%nvhpc+mpi
|
|
||||||
- modules:
|
|
||||||
- cray-hdf5/1.12.0.7
|
|
||||||
spec: hdf5@1.12.0.7~mpi
|
|
||||||
libbsd:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
libevent:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
libfabric:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- 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:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libtool@2.4.6
|
|
||||||
libxml2:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
llvm:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/AMD/aocc-compiler-3.1.0
|
|
||||||
spec: llvm@15.0.3
|
|
||||||
m4:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: m4@1.4.18
|
|
||||||
ncurses:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
netcdf-c:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-parallel-netcdf/1.12.1.7
|
|
||||||
spec: netcdf-c@4.0.1 +mpi
|
|
||||||
netcdf-fortran:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- cray-parallel-netcdf/1.12.1.7
|
|
||||||
spec: netcdf-fortran@4.0.1
|
|
||||||
ninja:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
numactl:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
openblas:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
opengl:
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: opengl@1.7.0
|
|
||||||
openmpi:
|
|
||||||
externals:
|
|
||||||
- prefix: /opt/nvidia/hpc_sdk/Linux_x86_64/20.9/comm_libs/openmpi4/openmpi-4.0.5
|
|
||||||
spec: openmpi@4.0.5%nvhpc@20.9
|
|
||||||
require:
|
|
||||||
- one_of: [
|
|
||||||
"openmpi@4.1.5%gcc@7.5.0 schedulers=slurm fabrics=ofi +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
|
|
||||||
"openmpi@4.1.5%oneapi schedulers=slurm fabrics=ofi +pmi +cxx +cxx_exceptions +cuda +legacylaunchers",
|
|
||||||
"openmpi@4.0.5%nvhpc@20.9"
|
|
||||||
]
|
|
||||||
openssh:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: openssh@8.4p1
|
|
||||||
openssl:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: openssl@1.1.1d
|
|
||||||
perl:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
pkg-config:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: pkg-config@0.29.2
|
|
||||||
pkgconf:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
py-fypp:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
python:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
rdma-core:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- spec: rdma-core@31.0
|
|
||||||
prefix: /usr
|
|
||||||
readline:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
slurm:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- spec: slurm@20.11.8
|
|
||||||
prefix: /usr
|
|
||||||
sqlite:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
tar:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: tar@1.34
|
|
||||||
texinfo:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: texinfo@6.5
|
|
||||||
unuran:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
util-linux-uuid:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
util-macros:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
valgrind:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- valgrind4hpc/2.12.8
|
|
||||||
spec: valgrind@2.12.8
|
|
||||||
xpmem:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- modules:
|
|
||||||
- xpmem/2.4.4-2.3_9.1__gff0e1d9.shasta
|
|
||||||
spec: xpmem@2.4.4
|
|
||||||
xxhash:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
zlib:
|
|
||||||
require: '%gcc@7.5.0'
|
|
||||||
zstd:
|
|
||||||
require: '%gcc@7.5.0'
|
|
52
env/sles15/unstable/spack.yaml
vendored
52
env/sles15/unstable/spack.yaml
vendored
@ -1,52 +0,0 @@
|
|||||||
spack:
|
|
||||||
concretizer:
|
|
||||||
unify: when_possible
|
|
||||||
config:
|
|
||||||
build_stage:
|
|
||||||
- /scratch/spack/spack-stage
|
|
||||||
definitions:
|
|
||||||
- aocc_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- aocc_pckgs:
|
|
||||||
- gromacs@2022.5
|
|
||||||
- cce_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- cce_pckgs:
|
|
||||||
- gromacs@2022.5
|
|
||||||
- gcc_11.2.0_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- gcc_11.2.0_pckgs:
|
|
||||||
- gromacs@2023 +mpi +cuda
|
|
||||||
- h5hut +mpi
|
|
||||||
- lammps
|
|
||||||
- trilinos ~fortran
|
|
||||||
- intel_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- intel_pckgs:
|
|
||||||
- gromacs@2022.5
|
|
||||||
- nvhpc_mpi:
|
|
||||||
- ^cray-mpich
|
|
||||||
- nvhpc_pckgs:
|
|
||||||
- quantum-espresso +mpi+cuda hdf5=parallel
|
|
||||||
include:
|
|
||||||
- ../sysconfigs/packages.yaml
|
|
||||||
- ../sysconfigs/compilers.yaml
|
|
||||||
- ../sysconfigs/modules.yaml
|
|
||||||
specs:
|
|
||||||
- matrix:
|
|
||||||
- [$aocc_pckgs]
|
|
||||||
- [$aocc_mpi]
|
|
||||||
- ['%aocc@3.1.0']
|
|
||||||
- matrix:
|
|
||||||
- [$cce_pckgs]
|
|
||||||
- [$cce_mpi]
|
|
||||||
- ['%cce@13.0.0']
|
|
||||||
- matrix:
|
|
||||||
- [$gcc_11.2.0_pckgs]
|
|
||||||
- [$gcc_11.2.0_mpi]
|
|
||||||
- ['%gcc@11.2.0']
|
|
||||||
- matrix:
|
|
||||||
- [$nvhpc_pckgs]
|
|
||||||
- [$nvhpc_mpi]
|
|
||||||
- ['%nvhpc@20.9']
|
|
||||||
view: false
|
|
113
packages/amrex/AMReX-18.07.1.patch
Normal file
113
packages/amrex/AMReX-18.07.1.patch
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
diff -bur amrex-18.07/Src/Base/AMReX_ParallelDescriptor.cpp amrex-18.07.1/Src/Base/AMReX_ParallelDescriptor.cpp
|
||||||
|
--- amrex-18.07/Src/Base/AMReX_ParallelDescriptor.cpp 2018-07-02 19:40:21
|
||||||
|
+++ amrex-18.07.1/Src/Base/AMReX_ParallelDescriptor.cpp 2023-07-19 16:50:02
|
||||||
|
@@ -1950,22 +1950,17 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IntVect iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_INT,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, AMREX_SPACEDIM, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].vect, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ MPI_Datatype types[] = { MPI_INT };
|
||||||
|
+ int blocklens[] = { AMREX_SPACEDIM };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IntVect)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IntVect), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
@@ -1976,22 +1971,17 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IndexType iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_UNSIGNED,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].itype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ MPI_Datatype types[] = { MPI_UNSIGNED };
|
||||||
|
+ int blocklens[] = { 1 };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IndexType)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IndexType), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
@@ -2002,26 +1992,28 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- Box iv[2]; // Used to construct the data types
|
||||||
|
+ Box bx[2];
|
||||||
|
MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
Mpi_typemap<IntVect>::type(),
|
||||||
|
Mpi_typemap<IntVect>::type(),
|
||||||
|
Mpi_typemap<IndexType>::type(),
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1, 1, 1};
|
||||||
|
- MPI_Aint disp[5];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].smallend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].bigend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].btype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ };
|
||||||
|
+ int blocklens[] = { 1, 1, 1 };
|
||||||
|
+ MPI_Aint disp[3];
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].smallend, &disp[0]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].bigend, &disp[1]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].btype, &disp[2]) );
|
||||||
|
+ disp[2] -= disp[0];
|
||||||
|
+ disp[1] -= disp[0];
|
||||||
|
+ disp[0] = 0;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(3, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(bx[0])) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(bx[0]), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
270
packages/amrex/AMReX_ParallelDescriptor.patch
Normal file
270
packages/amrex/AMReX_ParallelDescriptor.patch
Normal file
@ -0,0 +1,270 @@
|
|||||||
|
--- amrex-18.07/Src/Base/AMReX_ParallelDescriptor.cpp 2018-07-02 19:40:21.000000000 +0200
|
||||||
|
+++ AMReX_ParallelDescriptor.cpp 2021-06-21 15:25:26.752813320 +0200
|
||||||
|
@@ -54,13 +54,13 @@
|
||||||
|
|
||||||
|
#ifdef BL_USE_UPCXX
|
||||||
|
UPCXX_MPI_Mode Mode;
|
||||||
|
-#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifdef BL_USE_MPI3
|
||||||
|
MPI_Win cp_win;
|
||||||
|
MPI_Win fb_win;
|
||||||
|
#endif
|
||||||
|
-
|
||||||
|
+
|
||||||
|
namespace util
|
||||||
|
{
|
||||||
|
//
|
||||||
|
@@ -951,7 +951,7 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Allreduce(&recv_team, &recv, 1, Mpi_typemap<Real>::type(), op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, Mpi_typemap<Real>::type(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, Mpi_typemap<Real>::type(),
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -994,11 +994,11 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Reduce(r, recv_team.dataPtr(), cnt, Mpi_typemap<Real>::type(), op,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
if (isTeamLead()) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
Mpi_typemap<Real>::type(), op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(recv.dataPtr(), cnt, Mpi_typemap<Real>::type(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(recv.dataPtr(), cnt, Mpi_typemap<Real>::type(),
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -1045,7 +1045,7 @@
|
||||||
|
RankInLeadComm(cpu), MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
if (sameTeam(cpu)) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, Mpi_typemap<Real>::type(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, Mpi_typemap<Real>::type(),
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1098,7 +1098,7 @@
|
||||||
|
RankInLeadComm(cpu), MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
if (sameTeam(cpu)) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, Mpi_typemap<Real>::type(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, Mpi_typemap<Real>::type(),
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1148,7 +1148,7 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Allreduce(&recv_team, &recv, 1, MPI_LONG, op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, MPI_LONG,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, MPI_LONG,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -1191,7 +1191,7 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Reduce(r, recv_team.dataPtr(), cnt, MPI_LONG, op,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
if (isTeamLead()) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
MPI_LONG, op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
@@ -1295,7 +1295,7 @@
|
||||||
|
RankInLeadComm(cpu), MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
if (sameTeam(cpu)) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, MPI_LONG,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, MPI_LONG,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1345,7 +1345,7 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Allreduce(&recv_team, &recv, 1, MPI_INT, op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, MPI_INT,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv, 1, MPI_INT,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -1388,7 +1388,7 @@
|
||||||
|
BL_MPI_REQUIRE( MPI_Reduce(r, recv_team.dataPtr(), cnt, MPI_INT, op,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
if (isTeamLead()) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Allreduce(recv_team.dataPtr(), recv.dataPtr(), cnt,
|
||||||
|
MPI_INT, op,
|
||||||
|
MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
@@ -1492,7 +1492,7 @@
|
||||||
|
RankInLeadComm(cpu), MyTeam().get_lead_comm()) );
|
||||||
|
}
|
||||||
|
if (sameTeam(cpu)) {
|
||||||
|
- BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, MPI_LONG,
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Bcast(&recv[0], cnt, MPI_LONG,
|
||||||
|
0, MyTeam().get_team_comm()) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1735,13 +1735,13 @@
|
||||||
|
return m_finished;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void ParallelDescriptor::EndParallel ()
|
||||||
|
+void ParallelDescriptor::EndParallel ()
|
||||||
|
{
|
||||||
|
ParallelContext::pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ParallelDescriptor::Abort (int s, bool backtrace)
|
||||||
|
-{
|
||||||
|
+{
|
||||||
|
if (backtrace && amrex::system::signal_handling) {
|
||||||
|
BLBackTrace::handler(s);
|
||||||
|
} else {
|
||||||
|
@@ -1950,23 +1950,18 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IntVect iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_INT,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, AMREX_SPACEDIM, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].vect, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
- }
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
+ MPI_Datatype types[] = { MPI_INT };
|
||||||
|
+ int blocklens[] = { AMREX_SPACEDIM };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IntVect)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IntVect), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
+ }
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
}
|
||||||
|
@@ -1976,23 +1971,18 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IndexType iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_UNSIGNED,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].itype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
- }
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
+ MPI_Datatype types[] = { MPI_UNSIGNED };
|
||||||
|
+ int blocklens[] = { 1 };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IndexType)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IndexType), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
+ }
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
}
|
||||||
|
@@ -2002,27 +1992,29 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- Box iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- Mpi_typemap<IntVect>::type(),
|
||||||
|
- Mpi_typemap<IntVect>::type(),
|
||||||
|
- Mpi_typemap<IndexType>::type(),
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1, 1, 1};
|
||||||
|
- MPI_Aint disp[5];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].smallend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].bigend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].btype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
- }
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
+ Box bx[2];
|
||||||
|
+ MPI_Datatype types[] = {
|
||||||
|
+ Mpi_typemap<IntVect>::type(),
|
||||||
|
+ Mpi_typemap<IntVect>::type(),
|
||||||
|
+ Mpi_typemap<IndexType>::type(),
|
||||||
|
+ };
|
||||||
|
+ int blocklens[] = { 1, 1, 1 };
|
||||||
|
+ MPI_Aint disp[3];
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].smallend, &disp[0]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].bigend, &disp[1]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].btype, &disp[2]) );
|
||||||
|
+ disp[2] -= disp[0];
|
||||||
|
+ disp[1] -= disp[0];
|
||||||
|
+ disp[0] = 0;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(3, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(bx[0])) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(bx[0]), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
+ }
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
}
|
||||||
|
@@ -2121,7 +2113,7 @@
|
||||||
|
team_ranks[i] = MyTeamLead() + i;
|
||||||
|
}
|
||||||
|
BL_MPI_REQUIRE( MPI_Group_incl(grp, team_size, team_ranks, &team_grp) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Comm_create(ParallelDescriptor::Communicator(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Comm_create(ParallelDescriptor::Communicator(),
|
||||||
|
team_grp, &m_Team.m_team_comm) );
|
||||||
|
|
||||||
|
std::vector<int>lead_ranks(m_Team.m_numTeams);
|
||||||
|
@@ -2129,7 +2121,7 @@
|
||||||
|
lead_ranks[i] = i * team_size;
|
||||||
|
}
|
||||||
|
BL_MPI_REQUIRE( MPI_Group_incl(grp, lead_ranks.size(), &lead_ranks[0], &lead_grp) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Comm_create(ParallelDescriptor::Communicator(),
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Comm_create(ParallelDescriptor::Communicator(),
|
||||||
|
lead_grp, &m_Team.m_lead_comm) );
|
||||||
|
|
||||||
|
BL_MPI_REQUIRE( MPI_Group_free(&grp) );
|
65
packages/amrex/package.py
Normal file
65
packages/amrex/package.py
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# 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.amrex import Amrex as SpackAmrex
|
||||||
|
|
||||||
|
|
||||||
|
class Amrex(SpackAmrex):
|
||||||
|
|
||||||
|
version("18.07", sha256="2e8d3a91c5d972e3cebb88d10c4c92112459c88c2342c5a63337f3110bdbff13")
|
||||||
|
|
||||||
|
# Config options
|
||||||
|
variant(
|
||||||
|
"dimensions",
|
||||||
|
default="3",
|
||||||
|
values=("1", "2", "3"),
|
||||||
|
multi=False,
|
||||||
|
description="Dimensionality",
|
||||||
|
when="@18.07",
|
||||||
|
)
|
||||||
|
|
||||||
|
variant("fbaselib", default=False, description="Fbaselib", when="@18.07")
|
||||||
|
variant("fpe", default=False, description="FPE", when="@18.07")
|
||||||
|
|
||||||
|
patch("AMReX_ParallelDescriptor.patch", when="@18.07+mpi")
|
||||||
|
|
||||||
|
@when("@18.07")
|
||||||
|
def cmake_args(self):
|
||||||
|
args = [
|
||||||
|
self.define_from_variant("DIM", "dimensions"),
|
||||||
|
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||||
|
self.define_from_variant("ENABLE_MPI", "mpi"),
|
||||||
|
self.define_from_variant("ENABLE_OMP", "openmp"),
|
||||||
|
self.define_from_variant("ENABLE_FORTRAN_INTERFACES", "fortran"),
|
||||||
|
self.define_from_variant("ENABLE_EB", "eb"),
|
||||||
|
self.define_from_variant("ENABLE_LINEAR_SOLVERS", "linear_solvers"),
|
||||||
|
self.define_from_variant("ENABLE_AMRDATA", "amrdata"),
|
||||||
|
self.define_from_variant("ENABLE_PARTICLES", "particles"),
|
||||||
|
self.define_from_variant("ENABLE_SUNDIALS", "sundials"),
|
||||||
|
self.define_from_variant("ENABLE_HDF5", "hdf5"),
|
||||||
|
self.define_from_variant("ENABLE_HYPRE", "hypre"),
|
||||||
|
self.define_from_variant("ENABLE_PETSC", "petsc"),
|
||||||
|
self.define_from_variant("ENABLE_CUDA", "cuda"),
|
||||||
|
self.define_from_variant("ENABLE_PIC", "pic"),
|
||||||
|
self.define_from_variant("ENABLE_FBASELIB", "fbaselib"),
|
||||||
|
self.define_from_variant("ENABLE_FPE", "fpe"),
|
||||||
|
"-DENABLE_DP=%s" % self.spec.variants["precision"].value.upper(),
|
||||||
|
"-DENABLE_DP_PARTICLES=%s" % self.spec.variants["precision"].value.upper(),
|
||||||
|
]
|
||||||
|
|
||||||
|
if "+linear_solvers" in self.spec:
|
||||||
|
args.append("-DENABLE_LINEAR_SOLVERS_LEGACY=1")
|
||||||
|
|
||||||
|
if self.spec.satisfies("%fj"):
|
||||||
|
args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")
|
||||||
|
|
||||||
|
if "+cuda" in self.spec:
|
||||||
|
cuda_arch = self.spec.variants["cuda_arch"].value
|
||||||
|
args.append("-DCUDA_ARCH=" + self.get_cuda_arch_string(cuda_arch))
|
||||||
|
|
||||||
|
return args
|
13
packages/h5hut/package.py
Normal file
13
packages/h5hut/package.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# 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.h5hut import H5hut as SpackH5hut
|
||||||
|
|
||||||
|
|
||||||
|
class H5hut(SpackH5hut):
|
||||||
|
|
||||||
|
version("2.0.0rc6", sha256="980a5c634877265bd3a862fbd439d973d44be9c1d2f840c3635e8c6375d62d7e")
|
15
packages/mithra/mithra-fPIC.patch
Normal file
15
packages/mithra/mithra-fPIC.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Common subdirectories: mithra-2.0.orig/doc and mithra-2.0/doc
|
||||||
|
diff -u mithra-2.0.orig/makefile mithra-2.0/makefile
|
||||||
|
--- mithra-2.0.orig/makefile 2020-09-29 14:50:06.000000000 +0200
|
||||||
|
+++ mithra-2.0/makefile 2022-09-29 11:56:42.000000000 +0200
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
SHELL = /bin/sh
|
||||||
|
COMP = mpic++
|
||||||
|
|
||||||
|
+CFLAGS+=-fPIC
|
||||||
|
CFLAGS+=-std=c++11
|
||||||
|
CFLAGS+=-O3
|
||||||
|
|
||||||
|
Only in mithra-2.0: obj
|
||||||
|
Common subdirectories: mithra-2.0.orig/prj and mithra-2.0/prj
|
||||||
|
Common subdirectories: mithra-2.0.orig/src and mithra-2.0/src
|
31
packages/mithra/package.py
Normal file
31
packages/mithra/package.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# 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 *
|
||||||
|
|
||||||
|
|
||||||
|
class Mithra(MakefilePackage):
|
||||||
|
"""MITHRA is a full-wave numerical solver for free-electron lasers"""
|
||||||
|
|
||||||
|
homepage = "https://github.com/aryafallahi/mithra/tree/master"
|
||||||
|
url = "https://github.com/aryafallahi/mithra/archive/refs/tags/2.0.tar.gz"
|
||||||
|
|
||||||
|
maintainers("germanne", "gsell")
|
||||||
|
|
||||||
|
license("UNKNOWN")
|
||||||
|
|
||||||
|
version("2.0", sha256="66f27ba6ca2c1ab05abb76338d00e661a6fe96b95283b85409c37625b4758deb")
|
||||||
|
|
||||||
|
variant("mpi", default=True, description="Enable MPI support")
|
||||||
|
|
||||||
|
depends_on("mpi", when="+mpi")
|
||||||
|
|
||||||
|
conflicts("~mpi")
|
||||||
|
|
||||||
|
def setup_build_environment(self, env):
|
||||||
|
env.set("PREFIX", prefix)
|
||||||
|
|
||||||
|
def edit(self, spec, prefix):
|
||||||
|
pass
|
113
packages/opal/AMReX-18.07.1.patch
Normal file
113
packages/opal/AMReX-18.07.1.patch
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
diff -bur amrex-18.07/Src/Base/AMReX_ParallelDescriptor.cpp amrex-18.07.1/Src/Base/AMReX_ParallelDescriptor.cpp
|
||||||
|
--- amrex-18.07/Src/Base/AMReX_ParallelDescriptor.cpp 2018-07-02 19:40:21
|
||||||
|
+++ amrex-18.07.1/Src/Base/AMReX_ParallelDescriptor.cpp 2023-07-19 16:50:02
|
||||||
|
@@ -1950,22 +1950,17 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IntVect iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_INT,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, AMREX_SPACEDIM, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].vect, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ MPI_Datatype types[] = { MPI_INT };
|
||||||
|
+ int blocklens[] = { AMREX_SPACEDIM };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IntVect)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IntVect), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
@@ -1976,22 +1971,17 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- IndexType iv[2]; // Used to construct the data types
|
||||||
|
- MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
- MPI_UNSIGNED,
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1};
|
||||||
|
- MPI_Aint disp[3];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].itype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ MPI_Datatype types[] = { MPI_UNSIGNED };
|
||||||
|
+ int blocklens[] = { 1 };
|
||||||
|
+ MPI_Aint disp[] = { 0 };
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(1, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(IndexType)) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(IndexType), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
||||||
|
@@ -2002,26 +1992,28 @@
|
||||||
|
static MPI_Datatype mine(MPI_DATATYPE_NULL);
|
||||||
|
if ( mine == MPI_DATATYPE_NULL )
|
||||||
|
{
|
||||||
|
- Box iv[2]; // Used to construct the data types
|
||||||
|
+ Box bx[2];
|
||||||
|
MPI_Datatype types[] = {
|
||||||
|
- MPI_LB,
|
||||||
|
Mpi_typemap<IntVect>::type(),
|
||||||
|
Mpi_typemap<IntVect>::type(),
|
||||||
|
Mpi_typemap<IndexType>::type(),
|
||||||
|
- MPI_UB};
|
||||||
|
- int blocklens[] = { 1, 1, 1, 1, 1};
|
||||||
|
- MPI_Aint disp[5];
|
||||||
|
- int n = 0;
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0], &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].smallend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].bigend, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[0].btype, &disp[n++]) );
|
||||||
|
- BL_MPI_REQUIRE( MPI_Address(&iv[1], &disp[n++]) );
|
||||||
|
- for ( int i = n-1; i >= 0; i-- )
|
||||||
|
- {
|
||||||
|
- disp[i] -= disp[0];
|
||||||
|
+ };
|
||||||
|
+ int blocklens[] = { 1, 1, 1 };
|
||||||
|
+ MPI_Aint disp[3];
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].smallend, &disp[0]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].bigend, &disp[1]) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Get_address(&bx[0].btype, &disp[2]) );
|
||||||
|
+ disp[2] -= disp[0];
|
||||||
|
+ disp[1] -= disp[0];
|
||||||
|
+ disp[0] = 0;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_struct(3, blocklens, disp, types, &mine) );
|
||||||
|
+ MPI_Aint lb, extent;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_get_extent(mine, &lb, &extent) );
|
||||||
|
+ if (extent != sizeof(bx[0])) {
|
||||||
|
+ MPI_Datatype tmp = mine;
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_create_resized(tmp, 0, sizeof(bx[0]), &mine) );
|
||||||
|
+ BL_MPI_REQUIRE( MPI_Type_free(&tmp) );
|
||||||
|
}
|
||||||
|
- BL_MPI_REQUIRE( MPI_Type_struct(n, blocklens, disp, types, &mine) );
|
||||||
|
BL_MPI_REQUIRE( MPI_Type_commit( &mine ) );
|
||||||
|
}
|
||||||
|
return mine;
|
121
packages/opal/package.py
Normal file
121
packages/opal/package.py
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
# 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 *
|
||||||
|
|
||||||
|
|
||||||
|
class Opal(CMakePackage):
|
||||||
|
"""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"
|
||||||
|
url = "https://gitlab.psi.ch/OPAL/src/-/archive/OPAL-2022.1.0/src-OPAL-2022.1.0.tar.gz"
|
||||||
|
git = "https://gitlab.psi.ch/OPAL/src.git"
|
||||||
|
|
||||||
|
maintainers("germanne", "gsell")
|
||||||
|
|
||||||
|
license("GPLv3")
|
||||||
|
|
||||||
|
version('master', branch="master")
|
||||||
|
version("2022.1.0", sha256="31f6811032e9d5400169d28a8ae6c7dee2e4a803ee82e90584d31ff7a0a18d80")
|
||||||
|
|
||||||
|
variant(
|
||||||
|
"build_type",
|
||||||
|
default="Release",
|
||||||
|
description="CMake build type",
|
||||||
|
values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
|
||||||
|
)
|
||||||
|
variant("mpi", default=True, description="Enable MPI support")
|
||||||
|
variant("tests", default=True, description="Enable OPAL unit-tests")
|
||||||
|
variant("amr", default=True, description="Enable AMR solver")
|
||||||
|
variant("amr_mg_solver", default=True, description="Enable AMR multigrid solver")
|
||||||
|
variant("static", default=True, description="Enable MPI support")
|
||||||
|
variant("bandrf", default=True, description="Compile BANDRF field conversion scripts")
|
||||||
|
variant("static", default=True, description="Enable MPI support")
|
||||||
|
variant("opal_fel", default=True, description="Enable full-wave solver")
|
||||||
|
variant("saamg_solver", default=True, description="Enable SAAMG solver")
|
||||||
|
variant("python", default=True, description="Enable PyOPAL")
|
||||||
|
variant("mslang", default=True, description="Enable mslang")
|
||||||
|
variant("ippltests", default=True, description="Enable IPPL tests")
|
||||||
|
|
||||||
|
depends_on("openblas")
|
||||||
|
depends_on("boost+chrono+filesystem+iostreams+regex+serialization+system+timer")
|
||||||
|
depends_on("boost+mpi", when="+mpi")
|
||||||
|
depends_on("boost+python", when="+python")
|
||||||
|
depends_on("python@3.0", when="+python")
|
||||||
|
depends_on(
|
||||||
|
"boost+mpi+chrono+filesystem+iostreams+regex+serialization+system+timer", when="+mpi"
|
||||||
|
)
|
||||||
|
depends_on("gsl~shared")
|
||||||
|
|
||||||
|
depends_on("h5hut+mpi", when="+mpi")
|
||||||
|
depends_on("h5hut~mpi", when="~mpi")
|
||||||
|
|
||||||
|
depends_on(
|
||||||
|
"amrex@18.07 precision=double dimensions=3 +mpi~openmp+particles+pic~eb",
|
||||||
|
when="+amr+amr_mg_solver+mpi",
|
||||||
|
)
|
||||||
|
depends_on("googletest@1.10.0:", when="+tests")
|
||||||
|
depends_on("mithra@2.0", when="+opal_fel")
|
||||||
|
depends_on(
|
||||||
|
"trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia gotype=long",
|
||||||
|
when="+saamg_solver",
|
||||||
|
)
|
||||||
|
depends_on(
|
||||||
|
"trilinos@12.0.1: cxxstd=17 +mpi+muelu+nox+zoltan+zoltan2+isorropia gotype=long",
|
||||||
|
when="+amr_mg_solver",
|
||||||
|
)
|
||||||
|
depends_on("parmetis@4.0.3:", when="+saamg_solver")
|
||||||
|
depends_on("parmetis@4.0.3:", when="+amr_mg_solver")
|
||||||
|
|
||||||
|
# @master
|
||||||
|
depends_on("h5hut@2.0.0rc6", when="@master")
|
||||||
|
depends_on("hdf5@1.10.11", when="@master")
|
||||||
|
depends_on("openmpi@4.1.6", when="@master+mpi")
|
||||||
|
depends_on("boost@1.84.0", when="@master+saamg_solver")
|
||||||
|
depends_on("trilinos@13.4.0:", when="@master+saamg_solver")
|
||||||
|
depends_on("trilinos@13.4.0:", when="@master+amr_mg_solver")
|
||||||
|
|
||||||
|
# @2022.1%gcc@10.4.0
|
||||||
|
depends_on("h5hut@2.0.0rc6", when="@2022.1")
|
||||||
|
depends_on("hdf5@1.10.8", when="@2022.1")
|
||||||
|
depends_on("openmpi@4.1.5", when="@2022.1+mpi")
|
||||||
|
depends_on("boost@1.82.0", when="@2022.1+saamg_solver")
|
||||||
|
depends_on("trilinos@13.4.0", when="@2022.1+saamg_solver")
|
||||||
|
depends_on("trilinos@13.4.0", when="@2022.1+amr_mg_solver")
|
||||||
|
|
||||||
|
conflicts("~amr", "+amr_mg_solver")
|
||||||
|
|
||||||
|
# AMRex version is too old for any newer Trilinos version
|
||||||
|
requires(
|
||||||
|
"^trilinos@13.4.0",
|
||||||
|
when="^amrex@18.07",
|
||||||
|
msg="AMRex version is too old for any newer Trilinos or GCC versions."
|
||||||
|
)
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
if "+mpi" in self.spec:
|
||||||
|
env["CC"] = self.spec["mpi"].mpicc
|
||||||
|
env["CXX"] = self.spec["mpi"].mpicxx
|
||||||
|
env["FC"] = self.spec["mpi"].mpifc
|
||||||
|
|
||||||
|
if "+opal_fel" in self.spec:
|
||||||
|
env["MITHRA_PREFIX"] = self.spec["mithra"].prefix
|
||||||
|
|
||||||
|
args = [
|
||||||
|
self.define_from_variant("BUILD_OPAL_UNIT_TESTS", "tests"),
|
||||||
|
self.define_from_variant("ENABLE_AMR", "amr"),
|
||||||
|
self.define_from_variant("ENABLE_AMR_MG_SOLVER", "amr_mg_solver"),
|
||||||
|
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_SAAMG_SOLVER", "saamg_solver"),
|
||||||
|
self.define_from_variant("BUILD_OPAL_PYTHON", "python"),
|
||||||
|
self.define_from_variant("ENABLE_IPPLTESTS", "ippltests"),
|
||||||
|
self.define_from_variant("ENABLE_MSLANG", "mslang"),
|
||||||
|
]
|
||||||
|
return args
|
Reference in New Issue
Block a user