From be9429a155fc0c27bcbaf6197520851ce50dfef3 Mon Sep 17 00:00:00 2001 From: Germann Elsa Sylvia Date: Tue, 23 Aug 2022 10:00:02 +0200 Subject: [PATCH] ADD: new modules specific creation processes & rename Compilers to Compiler --- env/merlin/spack.yaml | 151 +++++++++++++++++++++++++++++++----------- 1 file changed, 111 insertions(+), 40 deletions(-) diff --git a/env/merlin/spack.yaml b/env/merlin/spack.yaml index 70e98b9..7016890 100644 --- a/env/merlin/spack.yaml +++ b/env/merlin/spack.yaml @@ -13,24 +13,21 @@ spack: - '%gcc@12.1.0' - Batchsystem_pckgs: &Batchsystem_pckgs - slurm - - Compilers_pckgs: &Compilers_pckgs + - Compiler_pckgs: &Compiler_pckgs - atlas - boost - clapack - clhep - - cuda - eigen - geant4 - gsl - googletest - - hdf5~mpi - - hdf5+mpi + - intel-oneapi-mpi - kokkos - libint tune=cp2k-lmax-6 - libxc - libxsmm - mpich - - nvhpc+mpi - openblas threads=none - openblas threads=openmp - openmpi @@ -100,7 +97,6 @@ spack: - erlang - gcc - go - - intel-oneapi-mpi - intel - openjdk - julia @@ -174,25 +170,52 @@ spack: - '{name}' environment: append_path: + # equivalent to module-addgroup Batchsystem MODULEPATH: *Batchsystem_module_root set: ${PACKAGE}_INCLUDE_DIR: '{prefix}/include' ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' - ${PACKAGE}_VERSION: '{version}' + 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}' - Compilers: - use_view: Compilers + threads=openmp: 'modulefiles/{compiler.name}/{compiler.version}/{name}_OMP/{version}' + MPI: + use_view: MPI arch_folder: false enable: - tcl roots: - tcl: /afs/psi.ch/sys/spack-rhel7/Compilers + tcl: &MPI_module_root /afs/psi.ch/sys/spack-rhel7/MPI tcl: blacklist_implicits: true - include: *Compilers_pckgs + include: *MPI_pckgs + all: + autoload: direct + conflict: + - '{name}' + environment: + append_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 all: autoload: direct conflict: @@ -202,6 +225,49 @@ spack: ${PACKAGE}_INCLUDE_DIR: '{prefix}/include' ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' ${PACKAGE}_VERSION: '{version}' + intel-oneapi-mpi: + environment: + append_path: + # equivalent to module-addgroup MPI + MODULEPATH: *MPI_module_root + set: + MPIFC: 'mpiifort' + MPIFORTRAN: 'mpiifort' + MPIEXEC: 'mpiexec.hydra' + MPIRUN: 'mpirun' + I_MPI_ICC: 'mpiicc' + I_MPI_CXX: 'mpiicpc' + I_MPI_F77: 'mpiifort' + I_MPI_F90: 'mpiifort' + I_MPI_FC: 'mpiifort' + mpich: + environment: + append_path: + # equivalent to module-addgroup MPI + MODULEPATH: *MPI_module_root + set: + MPIFC: ${prefix}/bin/mpif90 + MPIFORTRAN: ${prefix}/bin/mpif90 + MPIEXEC: ${prefix}/bin/mpiexec + MPIRUN: ${prefix}/bin/mpirun + openblas: + environment: + set: + BLASLIB: ${prefix}/libopenblas.a + openmpi: + environment: + append_path: + # equivalent to module-addgroup MPI + MODULEPATH: *MPI_module_root + set: + MPIFC: ${prefix}/bin/mpif90 + MPIFORTRAN: ${prefix}/bin/mpif90 + MPIEXEC: ${prefix}/bin/mpiexec + MPIRUN: ${prefix}/bin/mpirun + root: + environment: + set: + ROOTSYS: ${prefix} projections: *unified_modules_projections Cuda: use_view: Cuda @@ -219,11 +285,12 @@ spack: - '{name}' environment: append_path: + # equivalent to module-addgroup cuda MODULEPATH: *Cuda_module_root set: ${PACKAGE}_INCLUDE_DIR: '{prefix}/include' ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' - ${PACKAGE}_VERSION: '{version}' + ${PACKAGE}_PATH: '{prefix}' projections: *unified_modules_projections EM: use_view: EM @@ -264,11 +331,12 @@ spack: - 'HDF5_serial' environment: append_path: + # equivalent to module-addgroup HDF5 MODULEPATH: *HDF5_module_root set: ${PACKAGE}_INCLUDE_DIR: '{prefix}/include' ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' - ${PACKAGE}_VERSION: '{version}' + ${PACKAGE}_ROOT: '{prefix}' projections: *unified_modules_projections HDF5_serial: use_view: HDF5_serial @@ -287,11 +355,12 @@ spack: - 'HDF5_serial' environment: append_path: + # equivalent to module-addgroup HDF5_serial MODULEPATH: *HDF5_serial_module_root set: ${PACKAGE}_INCLUDE_DIR: '{prefix}/include' ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' - ${PACKAGE}_VERSION: '{version}' + ${PACKAGE}_ROOT: '{prefix}' projections: *unified_modules_projections Librairies: use_view: Librairies @@ -315,28 +384,6 @@ spack: ${PACKAGE}_LIBRARY_DIR: '{prefix}/lib' ${PACKAGE}_VERSION: '{version}' projections: *unified_modules_projections - 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 - all: - autoload: direct - conflict: - - '{name}' - environment: - append_path: - MODULEPATH: *MPI_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 @@ -454,8 +501,31 @@ spack: #<<< specs: - matrix: - - - $Compilers_pckgs + - - $Batchsystem_pckgs - - $compilers + exclude: + - slurm%oneapi + - matrix: + - - $Compiler_pckgs + - - $compilers + exclude: + - atlas%oneapi + - libxsmm%gcc + - clapack%oneapi + - clhep%oneapi + - cuda%oneapi + - eigen%oneapi + - geant4%oneapi + - googletest%oneapi + - kokkos%oneapi + - libint%gcc tune=cp2k-lmax-6 + - libxc%gcc + - libxsm%gcc + - nvhpc%oneapi+mpi + - openblas threads=none + - openblas%oneapi threads=openmp + - root%oneapi + - superlu%oneapi view: Batchsystem: link: roots @@ -464,14 +534,15 @@ spack: ^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: 'modulefiles/{compiler.name}/{compiler.version}/{name}_OMP/{version}' root: /afs/psi.ch/sys/spack-rhel7/Batchsystem select: *Batchsystem_pckgs - Compilers: + Compiler: link: roots link_type: symlink projections: *unified_projections - root: /afs/psi.ch/sys/spack-rhel7/Compilers - select: *Compilers_pckgs + root: /afs/psi.ch/sys/spack-rhel7/Compiler + select: *Compiler_pckgs Cuda: link: roots link_type: symlink