Files
spack-psi/env/merlin/spack.yaml
Germann Elsa Sylvia 7f5e4774fa RM: openmpi%nvhpc
2022-08-29 13:07:04 +02:00

638 lines
18 KiB
YAML

spack:
concretizer:
unify: false
definitions:
- Compilers: &Compilers
- '%clang@12.0.0'
- '%dpcpp@2022.1.0'
- '%gcc@12.1.0'
- '%intel@2021.6.0'
- '%nvhpc@21.5'
- '%oneapi@2022.1.0'
# Careful!! Any external packages shouldn't be placed here, otherwise there is a possibility
# they'll end with a module pointing to empty paths!!
- Batchsystem_pckgs: &Batchsystem_pckgs
- slurm
- Compiler_pckgs: &Compiler_pckgs
- atlas
- boost
- clapack
- clhep
- eigen
- geant4
- googletest
- gsl
- intel-oneapi-mpi
- kokkos
- libint tune=cp2k-lmax-6
- libxc
- libxsmm
- mpich
- openblas threads=none
- openblas threads=openmp
- openmpi
- root
- superlu
- vtk
- Cuda_pckgs: &Cuda_pckgs
- cuda
- EM_pckgs: &EM_pckgs
- cistem
- ctffind
- motioncor2
- relion
- unblur
- Librairies_pckgs: &Librairies_pckgs
- alsa-lib
- gdrcopy
- giflib
- gmp
- hwloc
- isl
- knem
- libtasn1
- mpc
- mpfr
- nettle
- pmix
- ucx
- udunits
- wxwidgets
- x264
- zlib
- MX_pckgs: &MX_pckgs
- cbflib
- lz4
- openbabel
- visit
- HDF5_pckgs: &HDF5_pckgs
- alps
- h5hut+mpi
- hdf5-blosc
- ioapi
- hdf5+mpi
- netcdf-c
- netcdf-fortran
- netcdf-c +parallel-netcdf
- trilinos
- HDF5_serial_pckgs: &HDF5_serial_pckgs
- hdf5~mpi
- h5hut~mpi
- ncview
- MPI_pckgs: &MPI_pckgs
- amrex
- boxlib
- cp2k
- cpmd
- elegant
- elpa
- fftw
- gromacs
- lammps
- astra
- Programming_pckgs: &Programming_pckgs
- autoconf
- automake
- binutils
- bison
- cmake
- erlang
- gcc
- go
- intel
- openjdk
- julia
- libtool
- lua
- m4
- nasm
- perl
- nvhpc
- python
- py-tensorflow
- qt
- r
- tcl
- tk
- System_pckgs: &System_pckgs
- bash
- filebench
- ior
- mdtest
- nmap
- patchelf
- unison
- Tools_pckgs: &Tools_pckgs
- aria2
- asciidoc
- coreutils
- emacs
- ffmpeg
- gaussian
- gettext
- git
- global
- gnupg
- gnuplot
- gnutls
- hdfview
- krb5
- kubernetes
- namd
- ncview
- openjpeg
- openssl
- orca
- paraview
- texlive
- tmux
- uncrustify
- vim
- visit
- xmlto
- xz
include:
- sysconfigs/config.yaml
- sysconfigs/compilers.yaml
- sysconfigs/packages.yaml
#>>> modules.yaml
modules:
Batchsystem:
use_view: Batchsystem
arch_folder: false
enable:
- tcl
roots:
tcl: &Batchsystem_module_root /afs/psi.ch/sys/spack-rhel7/Batchsystem
tcl:
blacklist_implicits: true
include: *Batchsystem_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Batchsystem
MODULEPATH: *Batchsystem_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
slurm:
environment:
prepend_path:
SLURM_CONF: '/etc/slurm/slurm.conf'
projections: &unified_modules_projections
all: modulefiles/{compiler.name}/{compiler.version}/{name}/{version}
^mpi: 'modulefiles/{compiler.name}/{compiler.version}/{name}/{version}/{^mpi.name}/{^mpi.version}'
~mpi: 'modulefiles/{compiler.name}/{compiler.version}/{name}_serial/{version}'
threads=openmp: 'modulefiles/{compiler.name}/{compiler.version}/{name}_OMP/{version}'
MPI:
use_view: MPI
arch_folder: false
enable:
- tcl
roots:
tcl: &MPI_module_root /afs/psi.ch/sys/spack-rhel7/MPI
tcl:
blacklist_implicits: true
include: *MPI_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
# equivalent to module-addgroup MPI
prepend_path:
MODULEPATH: *MPI_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Compiler:
use_view: Compiler
arch_folder: false
enable:
- tcl
roots:
tcl: /afs/psi.ch/sys/spack-rhel7/Compiler
tcl:
blacklist_implicits: true
include: *Compiler_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
intel-oneapi-mpi:
environment:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
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:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
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:
prepend_path:
# equivalent to module-addgroup MPI
MODULEPATH: *MPI_module_root
set:
MPIEXEC: ${prefix}/bin/mpiexec
MPIFC: ${prefix}/bin/mpif90
MPIFORTRAN: ${prefix}/bin/mpif90
MPIRUN: ${prefix}/bin/mpirun
root:
environment:
set:
ROOTSYS: ${prefix}
projections: *unified_modules_projections
Cuda:
use_view: Cuda
arch_folder: false
enable:
- tcl
roots:
tcl: &Cuda_module_root /afs/psi.ch/sys/spack-rhel7/cuda
tcl:
blacklist_implicits: true
include: *Cuda_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup cuda
MODULEPATH: *Cuda_module_root
prepend_path:
${PACKAGE}_PATH: '{prefix}'
LIBRARY_PATH: '{prefix}/lib64/stubs'
LIBRARY_PATH: '{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}'
projections: *unified_modules_projections
EM:
use_view: EM
arch_folder: false
enable:
- tcl
roots:
tcl: &EM_module_root /afs/psi.ch/sys/spack-rhel7/EM
tcl:
blacklist_implicits: true
include: *EM_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup EM
MODULEPATH: *EM_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
HDF5:
use_view: HDF5
arch_folder: false
enable:
- tcl
roots:
tcl: &HDF5_module_root /afs/psi.ch/sys/spack-rhel7/HDF5
tcl:
blacklist_implicits: true
include: *HDF5_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
- 'HDF5_serial'
environment:
prepend_path:
# equivalent to module-addgroup HDF5
MODULEPATH: *HDF5_module_root
set:
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
projections: *unified_modules_projections
HDF5_serial:
use_view: HDF5_serial
arch_folder: false
enable:
- tcl
roots:
tcl: &HDF5_serial_module_root /afs/psi.ch/sys/spack-rhel7/HDF5_serial
tcl:
blacklist_implicits: true
include: *HDF5_serial_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
- 'HDF5_serial'
environment:
prepend_path:
# equivalent to module-addgroup HDF5_serial
MODULEPATH: *HDF5_serial_module_root
set:
${PACKAGE}_DIR: '{prefix}'
${PACKAGE}_HOME: '{prefix}'
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib64'
${PACKAGE}_PREFIX: '{prefix}'
${PACKAGE}_ROOT: '{prefix}'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Librairies:
use_view: Librairies
arch_folder: false
enable:
- tcl
roots:
tcl: &Librairies_module_root /afs/psi.ch/sys/spack-rhel7/Librairies
tcl:
blacklist_implicits: true
include: *Librairies_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Librairies
MODULEPATH: *Librairies_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
MX:
use_view: MX
arch_folder: false
enable:
- tcl
roots:
tcl: &MX_module_root /afs/psi.ch/sys/spack-rhel7/MX
tcl:
blacklist_implicits: true
include: *MX_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup MX
MODULEPATH: *MX_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Programming:
use_view: Programming
arch_folder: false
enable:
- tcl
roots:
tcl: &Programming_module_root /afs/psi.ch/sys/spack-rhel7/Programming
tcl:
blacklist_implicits: true
include: *Programming_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup Programming
MODULEPATH: *Programming_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
nvhpc:
environment:
set:
ARCH_VERSION: $NVARCH/'$env(PGI_VERSION)'
CPP: '{prefix}/$ARCH_VERSION/compilers/bin/nvprepro'
F90: '{prefix}/$ARCH_VERSION/compilers/bin/pgf90'
F95: '{prefix}/$ARCH_VERSION/compilers/bin/pgf95'
FORTRAN: '{prefix}/$ARCH_VERSION/compilers/bin/pgfortran'
NVARCH: '{arch}'
NVCOMPILERS: '{prefix}'
PGI: '{prefix}'
projections: *unified_modules_projections
System:
use_view: System
arch_folder: false
enable:
- tcl
roots:
tcl: &System_module_root /afs/psi.ch/sys/spack-rhel7/System
tcl:
blacklist_implicits: true
include: *System_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
prepend_path:
# equivalent to module-addgroup System
MODULEPATH: *System_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
Tools:
use_view: Tools
arch_folder: false
enable:
- tcl
roots:
tcl: &Tools_module_root /afs/psi.ch/sys/spack-rhel7/Tools
tcl:
blacklist_implicits: true
include: *Tools_pckgs
exclude: *Compilers
all:
autoload: direct
conflict:
- '{name}'
environment:
# equivalent to module-addgroup Tools
prepend_path:
MODULEPATH: *Tools_module_root
set:
${PACKAGE}_INCLUDE_DIR: '{prefix}/include'
${PACKAGE}_LIBRARY_DIR: '{prefix}/lib'
${PACKAGE}_VERSION: '{version}'
projections: *unified_modules_projections
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
#<<<
specs:
- matrix:
- [cmake,cuda,fftw,gromacs,kokkos,mpich netmod=ucx,nvhpc+mpi,openblas threads=none,openblas threads=openmp,
python,root~tbb~x,slurm,gsl]
- ['%gcc']
- matrix:
- [boost]
- ['%clang','%gcc','%nvhpc','%oneapi']
- matrix:
- [hdf5~mpi, openmpi]
- ['%gcc','%oneapi']
- matrix:
- [hdf5+mpi +fortran +hl +shared, netcdf-fortran, netcdf-c +parallel-netcdf]
- ['%gcc','%nvhpc','%oneapi']
- [^openmpi]
- intel-oneapi-mpi%oneapi
view:
Batchsystem:
link: all
link_type: symlink
projections: &unified_projections
^mpi: '{name}/{version}/{^mpi.name}/{^mpi.version}/{compiler.name}/{compiler.version}'
all: '{name}/{version}/{compiler.name}/{compiler.version}'
~mpi: '{name}_serial/{version}/{compiler.name}/{compiler.version}'
threads=openmp: '{name}_OMP/{version}/{compiler.name}/{compiler.version}'
root: /afs/psi.ch/sys/spack-rhel7/Batchsystem
select: *Batchsystem_pckgs
Compiler:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Compiler
select: *Compiler_pckgs
Cuda:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/cuda
select: *Cuda_pckgs
EM:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/EM
select: *EM_pckgs
HDF5:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/HDF5
select: *HDF5_pckgs
HDF5_serial:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/HDF5_serial
select: *HDF5_serial_pckgs
Librairies:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Librairies
select: *Librairies_pckgs
MPI:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/MPI
select: *MPI_pckgs
MX:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/MX
select: *MX_pckgs
Programming:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Programming
select: *Programming_pckgs
System:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/System
select: *System_pckgs
Tools:
link: all
link_type: symlink
projections: *unified_projections
root: /afs/psi.ch/sys/spack-rhel7/Tools
select: *Tools_pckgs