diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0d1c5c5a2a300f40a2b03f788259e89d2b7710c0..678603b7eaa484798c09aed6c0fc51d352b9a541 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,6 +29,11 @@ variables: slurm_options: ["-c 36"] stack: ["pinot-noir"] app_image: ["registry.c4science.ch/scitas-stack/rhel9-kuma"] + - environment: [kuma_h100] + slurm_options: ["-c 64 -p h100"] + stack: ["pinot-noir-gcc"] + app_image: ["registry.c4science.ch/scitas-stack/rhel9-kuma"] + # - environment: [izar] # slurm_options: ['-c 40 --gpus 2'] # apptainer_options: ['-nv'] diff --git a/dockerfiles/rhel9-kuma/Dockerfile b/dockerfiles/rhel9-kuma/Dockerfile index 5ce577fa1642e3c3f5d62e6bbb380df7135d42d8..2b6da7785b43457cd47e7bfe42d6ba42018cd013 100644 --- a/dockerfiles/rhel9-kuma/Dockerfile +++ b/dockerfiles/rhel9-kuma/Dockerfile @@ -6,8 +6,18 @@ FROM registry.c4science.ch/scitas-stack/rhel9-base:9.0 # zlib-devel needed to compiler gcc ? +# repos for kuma +ARG APPSTREAM_REPO=rhel-9-for-x86_64-appstream-rpms +ARG SLURM_REPO=SCITAS_product-slurm_repo-slurm-2311 +ARG PMIX_REPO=SCITAS_product-scitas_repo-scitas-cluster +ARG MLNX_REPO=SCITAS_product-mlnx_repo-mlnx-ofed-24_01-0_3_3_1-5_14_0-70_30_1-rhel90 +ARG CUDA_REPO=SCITAS_product-cuda_repo-cuda-535_154_05-x86_64-rhel9 +ARG GPFS_REPO=SCITAS_product-gpfs_repo-gpfs-519 + +RUN sed /etc/yum.repos.d/ubi.repo -i -e 's/enabled = 1/enabled = 0/' + # spack dependencies -RUN yum install -y \ +RUN yum install -y --enablerepo=$APPSTREAM_REPO \ gcc-g++ gcc-gfortran \ patchelf findutils patch \ xz bzip2 file gnupg2 hostname iproute unzip zlib-devel\ @@ -17,20 +27,13 @@ RUN yum install -y \ jq \ && yum -y clean all && rm -fr /var/cache -# repos for kuma -ARG SLURM_REPO=SCITAS_product-slurm_repo-slurm-2311 -ARG PMIX_REPO=SCITAS_product-scitas_repo-scitas-cluster -ARG MLNX_REPO=SCITAS_product-mlnx_repo-mlnx-ofed-24_01-0_3_3_1-5_14_0-70_30_1-rhel90 -ARG CUDA_REPO=SCITAS_product-cuda_repo-cuda-535_154_05-x86_64-rhel9 -ARG GPFS_REPO=SCITAS_product-gpfs_repo-gpfs-519 - # stack dependencies RUN yum install -y --enablerepo=$SLURM_REPO \ slurm-devel slurm-libpmi \ && yum -y clean all && rm -fr /var/cache RUN yum install -y --enablerepo=$PMIX_REPO \ - slurm-devel slurm-libpmi \ + pmix \ && yum -y clean all && rm -fr /var/cache RUN yum install -y --enablerepo=$MLNX_REPO \ diff --git a/stacks/pinot-noir-gcc/concretizer.yaml b/stacks/pinot-noir-gcc/concretizer.yaml new file mode 100644 index 0000000000000000000000000000000000000000..698e4c7865156575e6807306e18573c647c921c2 --- /dev/null +++ b/stacks/pinot-noir-gcc/concretizer.yaml @@ -0,0 +1,5 @@ +concretizer: + reuse: false + unify: false + duplicates: + strategy: minimal diff --git a/stacks/pinot-noir-gcc/config.json b/stacks/pinot-noir-gcc/config.json new file mode 100644 index 0000000000000000000000000000000000000000..dd541dc7663a4a173cce978bdc14486addd959c9 --- /dev/null +++ b/stacks/pinot-noir-gcc/config.json @@ -0,0 +1,121 @@ +{ + "spack": { + "version": "v0.22.0", + "repos": { + "scitas-externals": { + "url": "https://gitlab.epfl.ch/SCITAS/software-stack/spack-repo-externals.git", + "branch": "releases/2024.0.0" + }, + "scitas-packages": { + "url": "https://gitlab.epfl.ch/SCITAS/software-stack/scitas-spack-packages.git", + "branch": "releases/2024.0.0" + } + }, + "mirrors": { + "local": { + "url": "spack-mirror", + "type": "relative" + }, + "restricted": { + "url": "spack-mirror-restriced", + "type": "relative" + } + } + }, + "stack": { + "version": "v1", + "mount_point": "/stack", + "system_arch": "target=x86_64_v3", + "system_compiler": { + "gcc@11": { + "compiler": "gcc", + "spec": "gcc@11.2.1", + "version": "11.2.1" + } + }, + "targets": { + "helvetios": "skylake_avx512", + "izar": "cascadelake", + "jed": "icelake", + "kuma_l40s": "zen4", + "kuma_h100": "zen4" + }, + "compilers": { + "gcc": { + "compiler": "gcc", + "spec": "gcc@12.3.0 %gcc@11.2.1", + "version": "12.3.0" + } + }, + "system_packages": [ + "autoconf", + "autoconf-archive", + "automake", + "autotools", + "berkley-db", + "bzip2", + "ca-certificates-mozilla", + "check", + "cmake", + "cuda", + "curl", + "diffutils", + "expat", + "findutils", + "flex", + "font-util", + "freetype", + "gawk", + "gdbm", + "gettext", + "git", + "glibc", + "gmake", + "gmp", + "gnuplot", + "hcoll", + "help2man", + "libaec", + "libedit", + "libevent", + "libfuse", + "libidn2", + "libpciaccess", + "libsigsegv", + "libssh2", + "libtiff", + "libtool", + "libunistring", + "libuuid", + "libxml2", + "lz4", + "m4", + "macro-utils", + "meson", + "mpc", + "mpfr", + "ncurses", + "ninja", + "openssl", + "pcre", + "pcre2", + "perl", + "pigz", + "pkgconf", + "pmix", + "rdma-core", + "readline", + "slurm", + "sqlite", + "tar", + "texinfo", + "utf8proc", + "util-linux-uuid", + "xpmem", + "xxd-standalon", + "xz", + "zlib-ng", + "zstd" + ] + } +} diff --git a/stacks/pinot-noir-gcc/config.yaml b/stacks/pinot-noir-gcc/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..aff2737c506bb6ddb8fdbe7e8c81676ab70d5ec6 --- /dev/null +++ b/stacks/pinot-noir-gcc/config.yaml @@ -0,0 +1,9 @@ +config: +# ccache: true + install_missing_compilers: false + + install_tree: + padded_length: 242 + + build_stage: + - $tempdir/$user/spack-stage diff --git a/stacks/pinot-noir-gcc/definitions_helvetios.yaml b/stacks/pinot-noir-gcc/definitions_helvetios.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ca4ba7fe51ad3279cebc61ff97ee72782db03b81 --- /dev/null +++ b/stacks/pinot-noir-gcc/definitions_helvetios.yaml @@ -0,0 +1 @@ +definitions: [] diff --git a/stacks/pinot-noir-gcc/definitions_jed.yaml b/stacks/pinot-noir-gcc/definitions_jed.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f156fa830b9567b3e7839218a0a88c16076c6ca --- /dev/null +++ b/stacks/pinot-noir-gcc/definitions_jed.yaml @@ -0,0 +1,7 @@ +definitions: + - cuda_system_codes: + - cuda + - cudnn + + - cuda_serial_codes: + - nccl diff --git a/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml b/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f156fa830b9567b3e7839218a0a88c16076c6ca --- /dev/null +++ b/stacks/pinot-noir-gcc/definitions_kuma_h100.yaml @@ -0,0 +1,7 @@ +definitions: + - cuda_system_codes: + - cuda + - cudnn + + - cuda_serial_codes: + - nccl diff --git a/stacks/pinot-noir-gcc/mirrors.yaml b/stacks/pinot-noir-gcc/mirrors.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2c338aa265ca4ab7735374e44dd491d1f2c81115 --- /dev/null +++ b/stacks/pinot-noir-gcc/mirrors.yaml @@ -0,0 +1 @@ +mirrors: {} diff --git a/stacks/pinot-noir-gcc/modules.yaml b/stacks/pinot-noir-gcc/modules.yaml new file mode 100644 index 0000000000000000000000000000000000000000..99f6f3e104d547f086fd83a4e77d1b4f3be316a0 --- /dev/null +++ b/stacks/pinot-noir-gcc/modules.yaml @@ -0,0 +1,141 @@ +modules: + default: + enable: [lmod] + lmod: + hash_length: 0 + core_compilers: + - gcc@11.4.1 + hierarchy: + - mpi + all: + environment: + set: + ${PACKAGE}_ROOT: ${PREFIX} + suffixes: + '+mpi': mpi + '+openmp': openmp + 'threads=openmp': openmp + '^fftw+openmp': openmp + 'hdf5=parallel': h5 + '+cuda': cuda + '+double-gpu': double-gpu + '+plumed': plumed + '+unwind': unwind + '+debug': dbg + '+ilp64': int64 + '+int64': int64 + 'version_suffix=jl': julia + + blacklist_implicits: true + + blacklist: + - lmod + + gcc: + environment: + set: + CC: ${PREFIX}/bin/gcc + CXX: ${PREFIX}/bin/g++ + F77: ${PREFIX}/bin/gfortran + FC: ${PREFIX}/bin/gfortran + F90: ${PREFIX}/bin/gfortran + cuda@12.4.0: + environment: + append_path: + JULIA_LOAD_PATH: ":/ssoft/spack/external/julia/syrah.v1/cuda" + + openmpi: + environment: + set: + SLURM_MPI_TYPE: pmi2 + OMPI_MCA_btl_openib_warn_default_gid_prefix: '0' + append_path: + JULIA_LOAD_PATH: ":/ssoft/spack/external/julia/syrah.v1/mpi" + openblas threads=pthreads: + environment: + set: + OPENBLAS_NUM_THREADS: '1' + hdf5~mpi+cxx: + environment: + set: + HDF5_CC: h5cc + HDF5_CXX: h5c++ + HDF5_FC: h5fc + hdf5+mpi~cxx: + environment: + set: + HDF5_CC: h5pcc + HDF5_FC: h5pfc + intel-oneapi-mpi: + environment: + set: + I_MPI_PMI_LIBRARY: /usr/lib64/libpmi2.so + I_MPI_EXTRA_FILESYSTEM: '0' + SLURM_MPI_TYPE: pmi2 + julia: + autoload: direct + metis: + suffixes: + ~real64: sp + molpro: + template: modules/group_restricted.lua + plumed: + environment: + set: + PLUMED_KERNEL: ${PREFIX}/lib/libplumedKernel.so + unset: + - PLUMED_ROOT + py-horovod: + autoload: direct + py-keras: + autoload: direct + py-tensorflow: + autoload: direct + py-theano: + autoload: direct + py-torch: + autoload: direct + py-torchvision: + autoload: direct + quantum-espresso: + suffixes: + hdf5=parallel: hdf5 + scala: + autoload: direct + scons: + suffixes: + '^python@:2.99': py2 + '^python@3:': py3 + + abaqus: + template: modules/group_restricted.lua + adf: + template: modules/group_restricted.lua + ams: + template: modules/group_restricted.lua + comsol: + environment: + prepend_path: + MATLABPATH: ${PREFIX}/mli + crystal17: + template: modules/group_restricted.lua + fdtd: + environment: + prepend_path: + PATH: ${PREFIX}/mpich2/nemesis/bin + LD_LIBRARY_PATH: ${PREFIX}/mpich2/nemesis/lib + set: + SLURM_MPI_TYPE: pmi2 + gaussian: + template: modules/group_restricted.lua + spark: + autoload: direct + environment: + prepend_path: + PATH: /ssoft/spack/scripts/all/spark + ucx: + environment: + unset: + - UCX_ROOT + vasp: + template: modules/group_restricted.lua diff --git a/stacks/pinot-noir-gcc/packages_helvetios.yaml b/stacks/pinot-noir-gcc/packages_helvetios.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe0d4ad01829f0895adce34a9071fe0eb4218e18 --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_helvetios.yaml @@ -0,0 +1,8 @@ +packages: + all: + target: ["skylake_avx512"] + require: ['~cuda', '~rocm'] + + # py-torch: + # require: + # - spec: '~cuda ~cudnn ~nccl ~rocm' diff --git a/stacks/pinot-noir-gcc/packages_izar.yaml b/stacks/pinot-noir-gcc/packages_izar.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9ce65d95e200925fe7b5bd50d0f76c18b2f33097 --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_izar.yaml @@ -0,0 +1,11 @@ +packages: + all: + target: ["cannonlake"] + require: + - spec: ^openmpi +cuda + when: '%gcc ^mpi' + + - spec: cuda_arch=70 + when: '+cuda' + + - '+cuda' diff --git a/stacks/pinot-noir-gcc/packages_jed.yaml b/stacks/pinot-noir-gcc/packages_jed.yaml new file mode 100644 index 0000000000000000000000000000000000000000..186b82d655ded03701bd8fff6750cd56779a51dd --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_jed.yaml @@ -0,0 +1,80 @@ +packages: + all: + target: ["icelake"] + require: + - "~rocm" + + - spec: cuda_arch=90 target=icelake + when: '+cuda' + # - spec: '~cuda' + # when: '%oneapi' + + - spec: '+cuda' + when: '%gcc' + + # --------------------------------------------------------------------------- + hypre: + require: + - spec: '+cuda cuda_arch=90 +unified-memory' + when: '%gcc' + + kokkos: + require: + - spec: '+cuda cuda_arch=90 +cuda_uvm +wrapper ~openmptarget' + when: '%gcc' + + openmpi: + require: + - spec: '+cuda cuda_arch=90 target=icelake' + + petsc: + require: + - spec: '+cuda cuda_arch=90' + when: '%gcc' + + py-tensorflow: + require: + - spec: '+cuda cuda_arch=90 +nccl' + + py-torch: + require: + - spec: '+cuda cuda_arch=90 +nccl +cudnn' + + quantum-espresso: + require: + - spec: '~cuda' + + suite-sparse: + require: + - spec: '+cuda' + + ucx: + require: + - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm' + + # --------------------------------------------------------------------------- + # Externals + # --------------------------------------------------------------------------- + pmix: + buildable: false + externals: + - spec: 'pmix@5.0.2' + prefix: /usr + + rdma-core: + buildable: false + externals: + - spec: 'rdma-core@47.1' + prefix: /usr + + slurm: + buildable: false + externals: + - spec: 'slurm@24-05-0-2' + prefix: /usr + + xpmem: + buildable: false + externals: + - spec: 'xpmem@2.7.3' + prefix: /usr diff --git a/stacks/pinot-noir-gcc/packages_kuma_h100.yaml b/stacks/pinot-noir-gcc/packages_kuma_h100.yaml new file mode 100644 index 0000000000000000000000000000000000000000..07fab46b1d2c1b45b5ea688ff8eb341829e37bb6 --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_kuma_h100.yaml @@ -0,0 +1,78 @@ +packages: + all: + target: ["zen4"] + require: + - "~rocm" + + - spec: cuda_arch=90 target=zen4 + when: '+cuda' + + - spec: '+cuda' + when: '%gcc' + + # --------------------------------------------------------------------------- + hypre: + require: + - spec: '+cuda cuda_arch=90 +unified-memory' + when: '%gcc' + + kokkos: + require: + - spec: '+cuda cuda_arch=90 +cuda_uvm +wrapper ~openmptarget' + when: '%gcc' + + openmpi: + require: + - spec: '+cuda cuda_arch=90 target=zen4' + + petsc: + require: + - spec: '+cuda cuda_arch=90' + when: '%gcc' + + py-tensorflow: + require: + - spec: '+cuda cuda_arch=90 +nccl' + + py-torch: + require: + - spec: '+cuda cuda_arch=90 +nccl +cudnn' + + quantum-espresso: + require: + - spec: '~cuda' + + suite-sparse: + require: + - spec: '+cuda' + + ucx: + require: + - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +gdrcopy +cuda cuda_arch=90 ~rocm target=zen4' + + # --------------------------------------------------------------------------- + # Externals + # --------------------------------------------------------------------------- + pmix: + buildable: false + externals: + - spec: 'pmix@5.0.2' + prefix: /usr + + rdma-core: + buildable: false + externals: + - spec: 'rdma-core@47.1' + prefix: /usr + + slurm: + buildable: false + externals: + - spec: 'slurm@24-05-0-2' + prefix: /usr + + xpmem: + buildable: false + externals: + - spec: 'xpmem@2.7.3' + prefix: /usr diff --git a/stacks/pinot-noir-gcc/packages_kuma_l40s.yaml b/stacks/pinot-noir-gcc/packages_kuma_l40s.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ad6b8fb44336cd6730bb956c5d8489ff7f0acf0b --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_kuma_l40s.yaml @@ -0,0 +1,11 @@ +packages: + all: + target: ["zen4"] + require: + - spec: ^openmpi +cuda + when: '%gcc ^mpi' + + - spec: cuda_arch=89 + when: '+cuda' + + - '+cuda' diff --git a/stacks/pinot-noir-gcc/packages_stack.yaml b/stacks/pinot-noir-gcc/packages_stack.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c9f989de74c7d3466e7429fce7f815828cd1da59 --- /dev/null +++ b/stacks/pinot-noir-gcc/packages_stack.yaml @@ -0,0 +1,276 @@ +packages: + all: + providers: + mpi: [openmpi, intel-oneapi-mpi] + iconv: [libiconv] + jpeg: [libjpeg] + zlib-api: [zlib-ng] + require: + - spec: "^libiconv" + when: "^iconv" + + # - spec: ^intel-oneapi-mpi + # when: '%oneapi ^mpi' + + # - spec: ^openmpi + # when: '%gcc ^mpi' + + # - spec: ^openmpi + # when: '%aocc ^mpi' + + # - spec: ^nvhpc+mpi + # when: '%nvhpc ^mpi' + + # - spec: ^openblas %gcc + # when: '%gcc ^blas' + + # - spec: ^eigen %gcc + # when: '%gcc ^eigen' + + # - spec: ^kokkos %gcc + # when: '%gcc ^kokkos' + + # - spec: ^openblas + # when: '%gcc ^lapack' + + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^blas' + + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^lapack' + + # - spec: ^nvhpc+blas + # when: '%nvhpc ^blas' + + # - spec: ^nvhpc+lapack + # when: '%nvhpc ^lapack' + + # - spec: ^openblas + # when: '%gcc ^py-numpy' + + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^py-numpy' + + - spec: '+ipo' + when: '%gcc' + + # ---------------------------------------------------------------------------- + # Requirements + # ---------------------------------------------------------------------------- + adios2: + require: ['+kokkos'] + + boost: + prefer: ['~mpi'] + require: ['cxxstd=14', '+icu', '+python', '+numpy', '+atomic', '+chrono', + '+container', '+date_time', '+filesystem', '+graph', '+iostreams', '~json', + '+locale', '+log', '+math', '~pic', '+program_options', '+random', '+regex', + '+serialization', '+shared', '+signals', '~singlethreaded', '~stacktrace', + '+system', '~taggedlayout', '+test', '+thread', '+timer', '~type_erasure', + '~versionedlayout', '+wave', '+exception'] + + cuda: + require: + - spec: '@12.4.0' + - spec: '+allow-unsupported-compilers' + when: '%oneapi' + + fenics-dolfinx: + require: ['+slepc'] + + fftw: + prefer: ['+mpi', '+openmp'] + + gnuplot: + require: + - spec: '@5.4.10' + + hdf5: + prefer: + - spec: '+mpi' + - spec: '@1.14.3' + require: + - spec: '+hl +threadsafe +szip +cxx +fortran' + - spec: '+ipo' + when: '%gcc' + + hypre: + prefer: + - spec: '@2.31.0 ~magma' + + intel-oneapi-mkl: + prefer: ['~cluster'] + + kokkos: + prefer: ['+openmp', '+openmptarget', '+numactl', '+memkind', '+threads', + '+aggressive_vectorization'] + + lammps: + require: ['build_type=Release', '+asphere', '+atc', '+body', '+class2', + '+colloid', '+compress', '+coreshell', '+dipole', '+diffraction', '+extra-dump', + '+granular', '+h5md', '+kspace', '+latboltz', '+latte', '+lib', '+manybody', + '+mc', '+misc', '+molecule', '+mpi', '+mpiio', '+netcdf', '+peri', '~poems', + '+python', '+qeq', '+replica ', '+rigid', '+shock', '+ml-snap', '+srd', + '+voronoi', '+plumed', '+kokkos'] + + libfabric: + require: + - spec: 'fabrics=mlx,mrail,psm3,verbs,udp,tcp,sockets,shm' + + llvm: + prefer: ['~clang'] + + libxcb: + require: ['+use_spack_interpreter'] + + mesa: + require: ['~llvm', '+opengl', '+opengles', '+osmesa'] + + metis: + require: ['+real64'] + + netcdf-c: + prefer: ['+mpi'] + + openblas: + prefer: ['threads=pthreads symbol_suffix=none ~ilp64'] + + opencv: + prefer: ['+vtk', '+python3'] + + openmpi: + require: + - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix ~memchecker' + + petsc: + require: + - spec: '+hypre +mumps +saws +scalapack +mpi +suite-sparse +kokkos' + + python: + require: + - spec: '+ssl +tkinter' + - spec: '+optimizations' + when: '%gcc' + + py-tensorflow: + require: ['+mpi', '+mkl'] + + py-torch: + require: ['+mpi'] + + suite-sparse: + require: + - spec: '+graphblas' + + tk: + require: ['+xft', '+xss'] + + ucx: + require: + - spec: +rdmacm +rc +dc +ud +cma +verbs + + zlib-ng: + require: ['build_system=autotools'] + + # ---------------------------------------------------------------------------- + # System dependencies + # ---------------------------------------------------------------------------- + egl: + buildable: false + externals: + - spec: 'egl@21.3.4' + prefix: /usr + + pmix: + buildable: false + externals: + - spec: 'pmix@5.0.1' + prefix: /usr + + rdma-core: + buildable: false + externals: + - spec: 'rdma-core@47.1' + prefix: /usr + + slurm: + buildable: false + externals: + - spec: 'slurm@23-11-7-1' + prefix: /usr + + + # ---------------------------------------------------------------------------- + # Externals + # ---------------------------------------------------------------------------- + abaqus: + buildable: false + permissions: {read: group, group: abaqus-soft} + externals: + - {spec: abaqus@2019, prefix: /ssoft/spack/external/abaqus/2019} + - {spec: abaqus@2023, prefix: /ssoft/spack/external/abaqus/2023} + ansys: + buildable: false + externals: + - {spec: ansys@2020R2, prefix: /ssoft/spack/external/ansys/2020R2/v202} + - {spec: ansys@2022R1, prefix: /ssoft/spack/external/ansys/2022R1/v221} + - {spec: ansys@2022R2, prefix: /ssoft/spack/external/ansys/2022R2/v222} + - {spec: ansys@2024R1, prefix: /ssoft/spack/external/ansys/2024R1/v241} + cfdplusplus: + buildable: false + externals: + - {spec: cfdplusplus@16.1, prefix: /ssoft/spack/external/CFD++/2016.05} + - {spec: cfdplusplus@19.1, prefix: /ssoft/spack/external/CFD++/19.1} + comsol: + buildable: false + permissions: {read: group, group: comsol-soft} + externals: + - {spec: comsol@5.6, prefix: /ssoft/spack/external/comsol/5.6/comsol56/multiphysics/} + - {spec: comsol@6.0, prefix: /ssoft/spack/external/comsol/6.0} + - {spec: comsol@6.2, prefix: /ssoft/spack/external/comsol/6.2} + fdtd: + buildable: false + permissions: {read: group, group: fdtd-soft} + externals: + - {spec: fdtd@2020-R2-2387, prefix: /ssoft/spack/external/fdtd/8.24.2387} + - {spec: fdtd@2020-R2.4-2502, prefix: /ssoft/spack/external/fdtd/2020-R2.4-2502} + - {spec: fdtd@2021-R2.2-2806, prefix: /ssoft/spack/external/fdtd/2021-R2.2-2806} + - {spec: fdtd@2022-R1.1-2963, prefix: /ssoft/spack/external/fdtd/2022-R1.1-2963} + gaussian: + buildable: false + externals: + - {spec: gaussian@g16-A.03, prefix: /ssoft/spack/external/gaussian/g16-A.03/avx2} + - {spec: gaussian@g16-C.01, prefix: /ssoft/spack/external/gaussian/g16-C.01/avx2} + gurobi: + buildable: false + externals: + - {spec: gurobi@8.1.1, prefix: /ssoft/spack/external/gurobi/8.1.1} + - {spec: gurobi@9.5.2, prefix: /ssoft/spack/external/gurobi/9.5.2} + - {spec: gurobi@10.0.1, prefix: /ssoft/spack/external/gurobi/10.0.1} + maple: + buildable: false + externals: + - {spec: maple@2017, prefix: /ssoft/spack/external/Maple/2017} + mathematica: + buildable: false + externals: + - {spec: mathematica@11.1.1, prefix: /ssoft/spack/external/Mathematica/11.1.1} + - {spec: mathematica@13.0, prefix: /ssoft/spack/external/Mathematica/13.0} + matlab: + buildable: false + externals: + - {spec: matlab@R2018a, prefix: /ssoft/spack/external/MATLAB/R2018a} + - {spec: matlab@R2019b, prefix: /ssoft/spack/external/MATLAB/R2019b} + - {spec: matlab@R2024a, prefix: /ssoft/spack/external/MATLAB/R2024a} + molpro: + buildable: false + externals: + - {spec: molpro@2022.3.0, prefix: /ssoft/spack/external/molpro/2022.3.0/mpi} + smr: + buildable: false + externals: + - {spec: smr@2017.0, prefix: /ssoft/spack/external/SMR/2017.06} + totalview: + externals: + - {spec: totalview@2017.2.11, prefix: /ssoft/spack/external/toolworks/totalview.2017.2.11} + - {spec: totalview@2020.3.11, prefix: /ssoft/spack/external/toolworks/totalview.2020.3.11} diff --git a/stacks/pinot-noir-gcc/spack.yaml b/stacks/pinot-noir-gcc/spack.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b1195d1e7e381f38879378957817e46a211565ac --- /dev/null +++ b/stacks/pinot-noir-gcc/spack.yaml @@ -0,0 +1,422 @@ +spack: + include: + - compiler_definitions.yaml + + - packages_stack.yaml + - packages_env.yaml + + - modules_stack.yaml + + - definitions_env.yaml + + - config_stack.yaml + + definitions: + # ------------------------------------------------------------------------- + # PE definition + # ------------------------------------------------------------------------- + - mpi_gcc: + - openmpi@5.0.3 + + - mpi_oneapi: + - intel-oneapi-mpi@2021.12.1 + + - blas_gcc: + - openblas@0.3.26 + + - blas_oneapi: + - intel-oneapi-mkl@2024.1.0 + + - python_gcc: + - python@3.11.7 + + - python_oneapi: + - python@3.11.7 + + # ------------------------------------------------------------------------- + # Core packages + # ------------------------------------------------------------------------- + - core_codes: + - bzip2 + - cmake + - emacs +tls + - fastqc + - fio + - git + - git-lfs + - gmp + - gnuplot + - gzip + - imagemagick +ghostscript + - intel-oneapi-advisor + - intel-oneapi-inspector + - intel-oneapi-vtune + - libarchive + - libjpeg-turbo + - libpng + - libtiff + - libxml2 + - lmod + - mpfr + - neovim + - ninja + - parallel + - picard + - rclone + - rust + - sbt + - sratoolkit + - subversion + - tar + - tcl + - tk + - tmux + - trimmomatic + - valgrind + - xclip + - zlib-ng + + # ------------------------------------------------------------------------- + # Serial codes + # ------------------------------------------------------------------------- + - serial_codes: + - bwa + - boost ~mpi + - fftw +openmp ~mpi + - fftw ~openmp ~mpi + - eigen + - gsl + - hdf5@1.14.1 ~mpi + - hisat2 + - htslib + - intel-oneapi-tbb + - jasper + - kallisto ^hdf5 ~mpi + - kokkos + - mafft + - metis + - muscle + - netcdf-c~mpi ^hdf5~mpi + - netcdf-fortran ^netcdf-c ~mpi ^hdf5 ~mpi + - nfft ^fftw~mpi~openmp + - python + - scotch ~mpi + - star + - subread + - superlu + - unblur ^fftw~mpi~openmp + - voropp + + - gcc_serial_codes: + - cistem ^fftw~mpi + - ctffind ^fftw ~mpi + - ffmpeg +libx264 + - glpk+gmp + - hwloc + - intel-oneapi-mkl + - libxc + - ncview ^hdf5 ~mpi ^netcdf-c ~mpi ~parallel-netcdf + - sox + - stacks + + - oneapi_serial_codes: + - abaqus@2023 + - intel-oneapi-ipp + + # ------------------------------------------------------------------------- + # Empty to specialize in environments + # ------------------------------------------------------------------------- + - cuda_system_codes: [] + + - cuda_serial_codes: [] + + # ------------------------------------------------------------------------- + # Blas dependent codes + # ------------------------------------------------------------------------- + - blas_codes: + - arpack-ng ~mpi + - superlu + - suite-sparse + + - gcc_blas_codes: + - armadillo +hdf5 ^arpack-ng ~mpi ^hdf5 ~mpi + - octave + + # ------------------------------------------------------------------------- + # Python packages + # ------------------------------------------------------------------------- + - python_codes: + - bedtools2 + - bowtie2 + - cairo + - mercurial + - prinseq-lite + - py-absl-py + - py-astunparse + - py-backports-entry-points-selectable + - py-certifi + - py-charset-normalizer + - py-cycler + - py-cython + - py-distlib + - py-filelock + - py-gast + - py-google-pasta + - py-idna + - py-kiwisolver + - py-mpmath + - py-packaging + - py-pillow + - py-pip + - py-platformdirs + - py-ply + - py-protobuf + - py-pybind11 + - py-pyparsing + - py-python-dateutil + - py-pytz + - py-requests + - py-semver + - py-six + - py-sympy + - py-termcolor + - py-urllib3 + - py-virtualenv + - py-wheel + - py-wrapt + - samtools + - scons + - snakemake + + - python_blas_codes: + - boost + - gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med + - iq-tree + - py-biopython + - py-keras-preprocessing + - py-macs2 + - py-matplotlib + - py-numpy + - py-opt-einsum + - py-pandas + - py-pybigwig + - py-xarray + + - gcc_python_codes: + - blast-plus + - caffe +python + - gatk + - gdb +tui +source-highlight +xz + - julia+openlibm + - libgd + - mesa + - mummer + - node-js + - openbabel +python + - r + - spades + - xgboost + + - gcc_python_blas_codes: + - polymake ^cddlib@0.94h + - py-cryolobm + - py-deeptools + - py-h5py ~mpi ^hdf5 ~mpi + - py-pymol + - py-scikit-learn + - py-scipy + - py-statsmodels + - py-theano + + # ------------------------------------------------------------------------- + # Parallel codes + # ------------------------------------------------------------------------- + - mpi_codes: + - fftw +mpi +openmp + - hdf5@1.14.3 +mpi + - openfoam-org +metis + - osu-micro-benchmarks +graphing + - parmetis + - phylobayesmpi + - py-mpi4py + - scotch +mpi + - netcdf-c + - netcdf-fortran + - parmetis + + - gcc_mpi_codes: + - wrf ~pnetcdf build_type=dm+sm + + - mpi_blas_codes: + - arpack-ng +mpi + - hypre@2.31.0 + - mumps@5.6.2 + - superlu-dist@8.2.1 + #- quantum-espresso +mpi +scalapack +gipaw + #- quantum-espresso +mpi +scalapack +gipaw hdf5=parallel + + - gcc_mpi_blas_codes: + - gmsh +mpi +eigen +openmp +hdf5 ~fltk ~opencascade ~med ^mmg ~vtk + - cpmd ~openmp + - elmerfem +mumps +openmp +hypre + - netlib-scalapack + - yambo +mpi io=iotk,etsf-io + + - mpi_blas_python_codes: + - boost +mpi + - cgal + - iq-tree@1.6.12+mpi + - neuron +mpi +python + - petsc@3.21.1 + - plumed + - py-petsc4py + - slepc + + - gcc_mpi_blas_python_codes: + # - eman2 +mpi + - adios2 + - cp2k +mpi +plumed +openmp smm=blas + # - fenics +parmetis +hdf5 +scotch +suite-sparse ~vtk ~trilinos + - fenics-dolfinx + - gromacs +mpi +plumed + - lammps + - opencv + - openfoam +metis + - paraview +shared +python +hdf5 ~osmesa +opengl2 +egl + - py-fenics-dolfinx + - py-h5py +mpi + - py-horovod + - py-keras + - py-tensorflow + - py-torch + - py-torchvision + - relion ~mklfft + - topaz + - vtk + + # ------------------------------------------------------------------------- + # External packages + # ------------------------------------------------------------------------- + - external_packages: [] + - when: env['environment_type'] != 'cloud' + external_packages: + - ansys + - cfdplusplus + - comsol + - fdtd + - gurobi + - gaussian + - matlab + - maple + - mathematica + - molpro + - smr + + - when: env['environment_type'] != 'cloud' + blas_mpi_codes: + - vasp +hdf5 +scalapack +shmem +wannier90 + + # ------------------------------------------------------------------------- + # Generic definitions + # ------------------------------------------------------------------------- + - mpis: + - $mpi_oneapi + - $mpi_gcc + + specs: + - matrix: + - [$compilers_specs] + + - matrix: + - [$blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$mpi_gcc] + - [$%compiler_gcc] + + - matrix: + - [$core_codes] + - [$%system_compiler] + + - matrix: + - [$cuda_system_codes] + - [$%system_compiler] + + - matrix: + - [$serial_codes] + - [$%compilers] + + - matrix: + - [$gcc_serial_codes] + - [$%compiler_gcc] + + - matrix: + - [$cuda_serial_codes] + - [$%compiler_gcc] + + - matrix: + - [$blas_codes] + - [$^blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_blas_codes] + - [$^blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$python_codes] + - [$^python_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_python_codes] + - [$^python_gcc] + - [$%compiler_gcc] + + - matrix: + - [$python_blas_codes] + - [$^python_gcc] + - [$^blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_python_blas_codes] + - [$^python_gcc] + - [$^blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$mpi_codes] + - [$^mpi_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_mpi_codes] + - [$^mpi_gcc] + - [$%compiler_gcc] + + - matrix: + - [$mpi_blas_codes] + - [$^blas_gcc] + - [$^mpi_gcc] + - [$%compiler_gcc] + + - matrix: + - [$mpi_blas_python_codes] + - [$^blas_gcc] + - [$^mpi_gcc] + - [$^python_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_mpi_blas_python_codes] + - [$^blas_gcc] + - [$^mpi_gcc] + - [$^python_gcc] + - [$%compiler_gcc] + + view: false +# default: +# root: /stack/packages/ diff --git a/stacks/pinot-noir-gcc/templates/modules/group_restricted.lua b/stacks/pinot-noir-gcc/templates/modules/group_restricted.lua new file mode 100644 index 0000000000000000000000000000000000000000..1511796f6bb6dfc84b64c9ec5af200c7d4fe2c12 --- /dev/null +++ b/stacks/pinot-noir-gcc/templates/modules/group_restricted.lua @@ -0,0 +1,10 @@ +{% extends "modules/modulefile.lua" %} +{% block footer %} +-- Access is granted only to specific groups, most likely because the software is licensed +if not isDir("{{ spec.prefix }}") then + LmodError ( + "You don't have the necessary rights to run \"{{ spec.name }}\".\n\n", + "\tPlease write an e-mail to 1234@epfl.ch if you need further information on how to get access to it.\n" + ) +end +{% endblock %} diff --git a/stacks/pinot-noir/concretizer.yaml b/stacks/pinot-noir/concretizer.yaml index aa4e2548b74a093e7baa09e04a7d391f7288b605..698e4c7865156575e6807306e18573c647c921c2 100644 --- a/stacks/pinot-noir/concretizer.yaml +++ b/stacks/pinot-noir/concretizer.yaml @@ -1,5 +1,5 @@ concretizer: reuse: false - unify: when_possible + unify: false duplicates: strategy: minimal diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json index 38a3b97973ff78da524aaae680922f1aa3ba2f76..fae5342bf5077ffaf0114ea4379a7a277a69faac 100644 --- a/stacks/pinot-noir/config.json +++ b/stacks/pinot-noir/config.json @@ -29,8 +29,8 @@ "system_compiler": { "gcc@11": { "compiler": "gcc", - "spec": "gcc@11.4.1", - "version": "11.4.1" + "spec": "gcc@11.2.1", + "version": "11.2.1" } }, "targets": { @@ -43,12 +43,12 @@ "compilers": { "oneapi": { "compiler": "oneapi", - "spec": "intel-oneapi-compilers@2024.1.0 %gcc@11.4.1", + "spec": "intel-oneapi-compilers@2024.1.0 %gcc@11.2.1", "version": "2024.1.0" }, "gcc": { "compiler": "gcc", - "spec": "gcc@12.3.0 %gcc@11.4.1", + "spec": "gcc@12.3.0 %gcc@11.2.1", "version": "12.3.0" } }, @@ -73,6 +73,7 @@ "gawk", "gdbm", "gettext", + "git", "glibc", "gmake", "gmp", @@ -80,13 +81,16 @@ "hcoll", "help2man", "libaec", + "libedit", "libevent", "libfuse", + "libidn2", "libpciaccess", "libsigsegv", "libssh2", "libtiff", "libtool", + "libunistring", "libuuid", "libxml2", "lz4", @@ -111,6 +115,7 @@ "tar", "texinfo", "utf8proc", + "util-linux-uuid", "xpmem", "xxd-standalon", "xz", diff --git a/stacks/pinot-noir/definitions_kuma_h100.yaml b/stacks/pinot-noir/definitions_kuma_h100.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0f156fa830b9567b3e7839218a0a88c16076c6ca --- /dev/null +++ b/stacks/pinot-noir/definitions_kuma_h100.yaml @@ -0,0 +1,7 @@ +definitions: + - cuda_system_codes: + - cuda + - cudnn + + - cuda_serial_codes: + - nccl diff --git a/stacks/pinot-noir/packages_helvetios.yaml b/stacks/pinot-noir/packages_helvetios.yaml index f654aa42a02e2392b5c852e3febeb9518ec1ec78..fe0d4ad01829f0895adce34a9071fe0eb4218e18 100644 --- a/stacks/pinot-noir/packages_helvetios.yaml +++ b/stacks/pinot-noir/packages_helvetios.yaml @@ -1,5 +1,8 @@ packages: all: target: ["skylake_avx512"] - require: - - '~cuda' + require: ['~cuda', '~rocm'] + + # py-torch: + # require: + # - spec: '~cuda ~cudnn ~nccl ~rocm' diff --git a/stacks/pinot-noir/packages_jed.yaml b/stacks/pinot-noir/packages_jed.yaml index dcc04e3ecacc5be4b2e480c5b8056bd880dae8f8..822d1e2f6b56828d7269ba821ecb27be99c9d6d2 100644 --- a/stacks/pinot-noir/packages_jed.yaml +++ b/stacks/pinot-noir/packages_jed.yaml @@ -15,23 +15,32 @@ packages: # --------------------------------------------------------------------------- hypre: require: - - spec: '+cuda cuda_arch=90' + - spec: '+cuda cuda_arch=90 +unified-memory' when: '%gcc' kokkos: require: - - spec: '+cuda cuda_arch=90 +cuda_uvm' + - spec: '+cuda cuda_arch=90 +cuda_uvm +wrapper ~openmptarget' + when: '%gcc' + + kokkos-kernels: + require: + - spec: '+cuda cuda_arch=90' when: '%gcc' openmpi: require: - - spec: 'fabrics=hcoll +cuda cuda_arch=90 target=icelake' + - spec: '+cuda cuda_arch=90 target=icelake' petsc: require: - spec: '+cuda cuda_arch=90' when: '%gcc' + py-tensorflow: + require: + - spec: '+cuda cuda_arch=90 +nccl' + py-torch: require: - spec: '+cuda cuda_arch=90 +nccl +cudnn' @@ -46,17 +55,11 @@ packages: ucx: require: - - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +vfs +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm' + - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm' # --------------------------------------------------------------------------- # Externals # --------------------------------------------------------------------------- - hcoll: - buildable: False - externals: - - spec: 'hcoll@4.8.3227' - prefix: /usr - pmix: buildable: false externals: diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml index dbb2084f075cdc958a7a430f0fbd9e35e2ba5f99..d12a3aa85defa2721cc41fe5bb6811632456b7d7 100644 --- a/stacks/pinot-noir/packages_stack.yaml +++ b/stacks/pinot-noir/packages_stack.yaml @@ -1,45 +1,14 @@ packages: all: + providers: + mpi: [openmpi, intel-oneapi-mpi] + iconv: [libiconv] + jpeg: [libjpeg] + zlib-api: [zlib-ng] require: - spec: "^libiconv" when: "^iconv" - # - spec: ^intel-oneapi-mpi - # when: '%oneapi ^mpi' - - # - spec: ^openmpi - # when: '%gcc ^mpi' - - # - spec: ^openmpi - # when: '%aocc ^mpi' - - # - spec: ^nvhpc+mpi - # when: '%nvhpc ^mpi' - - # - spec: ^openblas - # when: '%gcc ^blas' - - # - spec: ^openblas - # when: '%gcc ^lapack' - - # - spec: ^intel-oneapi-mkl - # when: '%oneapi ^blas' - - # - spec: ^intel-oneapi-mkl - # when: '%oneapi ^lapack' - - # - spec: ^nvhpc+blas - # when: '%nvhpc ^blas' - - # - spec: ^nvhpc+lapack - # when: '%nvhpc ^lapack' - - # - spec: ^openblas - # when: '%gcc ^py-numpy' - - # - spec: ^intel-oneapi-mkl - # when: '%oneapi ^py-numpy' - - spec: '+ipo' when: '%gcc' @@ -85,16 +54,17 @@ packages: hypre: prefer: - - spec: '@2.31.0' - require: - - spec: '+unified-memory ~magma' - when: '+cuda' + - spec: '@2.31.0 ~magma' intel-oneapi-mkl: - prefer: ['+cluster'] + prefer: ['~cluster'] kokkos: - prefer: ['+openmp', '+openmptarget', '+numactl', '+memkind', '+threads', '+aggressive_vectorization'] + prefer: ['+openmp', '+numactl', '+memkind', '+threads', + '+aggressive_vectorization'] + + kokkos-kernel: + prefer: ['+openmp', '+threads'] lammps: require: ['build_type=Release', '+asphere', '+atc', '+body', '+class2', @@ -124,7 +94,7 @@ packages: prefer: ['+mpi'] openblas: - prefer: ['threads=pthreads'] + prefer: ['threads=pthreads symbol_suffix=none ~ilp64'] opencv: prefer: ['+vtk', '+python3'] @@ -132,8 +102,6 @@ packages: openmpi: require: - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix ~memchecker' - - spec: ^ucx +cuda - when: +cuda petsc: require: @@ -146,10 +114,13 @@ packages: when: '%gcc' py-tensorflow: - require: ['+mpi'] + require: ['+mpi', '+mkl'] py-torch: - require: ['+mpi', '~magma'] + require: ['+mpi'] + + scotch: + prefer: ['~mpi'] suite-sparse: require: @@ -160,9 +131,10 @@ packages: ucx: require: - - spec: +rdmacm +rc +dc +ud +cma +verbs - - spec: +gdrcopy - when: +cuda + - spec: '+rdmacm +rc +dc +ud +cma +verbs' + + zlib-ng: + require: ['build_system=autotools'] # ---------------------------------------------------------------------------- # System dependencies diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml index 1bafcf146002f28db65dd8101454e522fac2da11..d80e2cc8ab5f37da522e571dfb1818155c18598c 100644 --- a/stacks/pinot-noir/spack.yaml +++ b/stacks/pinot-noir/spack.yaml @@ -72,7 +72,6 @@ spack: - tk - tmux - trimmomatic - - valgrind - xclip - zlib-ng @@ -81,7 +80,6 @@ spack: # ------------------------------------------------------------------------- - serial_codes: - bwa - - boost ~mpi - fftw +openmp ~mpi - fftw ~openmp ~mpi - eigen @@ -93,17 +91,17 @@ spack: - jasper - kallisto ^hdf5 ~mpi - kokkos + - kokkos-kernels - mafft - metis - muscle - netcdf-c~mpi ^hdf5~mpi - netcdf-fortran ^netcdf-c ~mpi ^hdf5 ~mpi - - nfft + - nfft ^fftw~mpi~openmp - python - - scotch + - scotch ~mpi - star - subread - - superlu - unblur ^fftw~mpi~openmp - voropp @@ -189,8 +187,8 @@ spack: - snakemake - python_blas_codes: - - boost - - gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med + - boost ~mpi + #- gmsh ~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med - iq-tree - py-biopython - py-keras-preprocessing @@ -201,6 +199,7 @@ spack: - py-pandas - py-pybigwig - py-xarray + - valgrind - gcc_python_codes: - blast-plus @@ -212,7 +211,7 @@ spack: - mesa - mummer - node-js - - openbabel +python + - openbabel +python ^boost ~mpi - r - spades - xgboost @@ -327,18 +326,10 @@ spack: - matrix: - [$compilers_specs] - - matrix: - - [$blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$blas_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_gcc] - [$%compiler_gcc] @@ -353,16 +344,12 @@ spack: - matrix: - [$serial_codes] - - [$%compilers] + - [$%compiler_gcc] - matrix: - [$gcc_serial_codes] - [$%compiler_gcc] - - matrix: - - [$oneapi_serial_codes] - - [$%compiler_oneapi] - - matrix: - [$cuda_serial_codes] - [$%compiler_gcc] @@ -372,11 +359,6 @@ spack: - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$blas_codes] - - [$^blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$gcc_blas_codes] - [$^blas_gcc] @@ -392,34 +374,18 @@ spack: - [$^python_gcc] - [$%compiler_gcc] - - matrix: - - [$python_codes] - - [$^python_oneapi] - - [$%compiler_oneapi] - - matrix: - [$python_blas_codes] - [$^python_gcc] - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$python_blas_codes] - - [$^python_oneapi] - - [$^blas_oneapi] - - [$%compiler_oneapi] - - matrix: - [$gcc_python_blas_codes] - [$^python_gcc] - [$^blas_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_codes] - - [$^mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_codes] - [$^mpi_gcc] @@ -430,25 +396,12 @@ spack: - [$^mpi_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_blas_codes] - - [$^blas_oneapi] - - [$^mpi_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_blas_codes] - [$^blas_gcc] - [$^mpi_gcc] - [$%compiler_gcc] - - matrix: - - [$mpi_blas_python_codes] - - [$^blas_oneapi] - - [$^mpi_oneapi] - - [$^python_oneapi] - - [$%compiler_oneapi] - - matrix: - [$mpi_blas_python_codes] - [$^blas_gcc] @@ -463,6 +416,57 @@ spack: - [$^python_gcc] - [$%compiler_gcc] + # -------------------------------------------------------------------------- + - matrix: + - [$serial_codes] + - [$%compiler_oneapi] + + - matrix: + - [$blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$oneapi_serial_codes] + - [$%compiler_oneapi] + + - matrix: + - [$blas_codes] + - [$^blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$python_codes] + - [$^python_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$python_blas_codes] + - [$^python_oneapi] + - [$^blas_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_codes] + - [$^mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_blas_codes] + - [$^blas_oneapi] + - [$^mpi_oneapi] + - [$%compiler_oneapi] + + - matrix: + - [$mpi_blas_python_codes] + - [$^blas_oneapi] + - [$^mpi_oneapi] + - [$^python_oneapi] + - [$%compiler_oneapi] + view: false # default: # root: /stack/packages/