diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8448a34bc7093922a1f606a5384286946e3b0ec9..0d1c5c5a2a300f40a2b03f788259e89d2b7710c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,8 +56,9 @@ variables: MOUNT_POINT: /stack BUILDCACHE: "/work/scitas-ge/richart/ci/buildcache" MIRROR: "/work/scitas-ge/richart/ci/mirror" + FAKEHOME: "/scratch/richart" COMMAND_OPTIONS_SBATCH: ${slurm_options} - APPTAINER_EXEC_OPTIONS: ${apptainer_options} --cleanenv --no-home -H $(mktemp -d -p $CI_PROJECT_DIR/.tmp):$HOME --bind ${BUILDCACHE}:/buildcache:rw --bind ${MIRROR}:${MOUNT_POINT}/spack-mirror:rw --bind ${CI_PROJECT_DIR}:${MOUNT_POINT} --bind /dev/tty + APPTAINER_EXEC_OPTIONS: ${apptainer_options} --cleanenv --no-home -H $(mktemp -d -p ${FAKEHOME}/):$HOME --bind ${BUILDCACHE}:/buildcache:rw --bind ${MIRROR}:${MOUNT_POINT}/spack-mirror:rw --bind ${CI_PROJECT_DIR}:${MOUNT_POINT} --bind /dev/tty .spack_cache: cache: @@ -88,7 +89,7 @@ spack:setup: needs: - job: spack:checkout after_script: - - tar cvzf artifacts_${stack}_${environment}.tgz $stack/environment + - tar czf artifacts_${stack}_${environment}.tgz $stack/environment artifacts: paths: - artifacts_${stack}_${environment}.tgz @@ -101,14 +102,14 @@ spack:install_compilers: before_script: - if [ -e artifacts_${stack}_${environment}.tgz ]; then - tar xvzf artifacts_${stack}_${environment}.tgz; + tar xzf artifacts_${stack}_${environment}.tgz; fi script: - ci/install_compilers.sh - source ci/stack_env.sh - ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame compilers after_script: - - tar cvzf + - tar czf artifacts_${stack}_${environment}.tgz $stack/spack/var/spack/environments artifacts: @@ -128,14 +129,14 @@ spack:concretize: before_script: - if [ -e artifacts_${stack}_${environment}.tgz ]; then - tar xvzf artifacts_${stack}_${environment}.tgz; + tar xzf artifacts_${stack}_${environment}.tgz; fi script: - source ci/stack_env.sh - ${STACK_LOCATION}/spack/bin/spack -e ${environment} config blame - ${STACK_LOCATION}/spack/bin/spack -e ${environment} concretize --force after_script: - - tar cvzf + - tar czf artifacts_${stack}_${environment}.tgz $stack/spack/var/spack/environments artifacts: @@ -143,7 +144,7 @@ spack:concretize: - artifacts_${stack}_${environment}.tgz needs: - job: spack:install_compilers - timeout: 2h + timeout: 5h spack:install: stage: install @@ -153,7 +154,7 @@ spack:install: before_script: - if [ -e artifacts_${stack}_${environment}.tgz ]; then - tar xvzf artifacts_${stack}_${environment}.tgz; + tar xzf artifacts_${stack}_${environment}.tgz; fi script: - source ci/stack_env.sh @@ -172,7 +173,7 @@ spack:install: --key EDC904DCE3D2E84E /buildcache after_script: - - tar cvzf + - tar czf artifacts_${stack}_${environment}.tgz $stack/spack/var/spack/environments needs: diff --git a/ci/stack_env.sh b/ci/stack_env.sh index 2fb01cb3c0307a81aacbcf1ac72801c402c75391..d992e13913c8e8edea1fbc3c8a301b2b2f5c8f14 100644 --- a/ci/stack_env.sh +++ b/ci/stack_env.sh @@ -5,13 +5,16 @@ export STACK_CONFIG=${STACK_CONFIG_PATH}/config.json export SPACK_VERSION=$(jq -r .spack.version ${STACK_CONFIG}) export MOUNT_POINT=$(jq -r .stack.mount_point ${STACK_CONFIG}) -export STACK_LOCATION=${MOUNT_POINT}/${stack} +export STACK_VERSION=$(jq -r .stack.version ${STACK_CONFIG}) +export STACK_LOCATION=${MOUNT_POINT}/${stack}/${environment}/${STACK_VERSION} export SPACK_SYSTEM_CONFIG_PATH=${STACK_LOCATION}/spack/var/spack/environments/${environment} export SPACK_USER_CACHE_PATH=$(mktemp -p /tmp -d slurm_user_cache_XXXXXXX) export SPACK_USER_CONFIG_PATH=$(mktemp -p /tmp -d slurm_user_config_XXXXXXX) +export environment_type="local_cluster" + echo "STACK_CONFIG_PATH: ${STACK_CONFIG_PATH}" echo "STACK_CONFIG: ${STACK_CONFIG}" echo "SPACK_VERSION: ${SPACK_VERSION}" diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json index 8dcee00ad49c76cd886859b2752439b7a133f06e..38a3b97973ff78da524aaae680922f1aa3ba2f76 100644 --- a/stacks/pinot-noir/config.json +++ b/stacks/pinot-noir/config.json @@ -23,6 +23,7 @@ } }, "stack": { + "version": "v1", "mount_point": "/stack", "system_arch": "target=x86_64_v3", "system_compiler": { @@ -45,18 +46,6 @@ "spec": "intel-oneapi-compilers@2024.1.0 %gcc@11.4.1", "version": "2024.1.0" }, - "nvhpc": { - "compiler": "nvhpc", - "spec": "nvhpc@24.3 %gcc@11.4.1", - "version": "24.3", - "constraint": "env['environment'] in ['jed']" - }, - "aocc": { - "compiler": "aocc", - "spec": "aocc@4.2.0 +license-agreed %gcc@11.4.1", - "version": "4.2.0", - "constraint": "env['environment'] in ['jed']" - }, "gcc": { "compiler": "gcc", "spec": "gcc@12.3.0 %gcc@11.4.1", @@ -88,15 +77,16 @@ "gmake", "gmp", "gnuplot", - "help2man", "hcoll", + "help2man", "libaec", "libevent", "libfuse", "libpciaccess", "libsigsegv", - "libtool", + "libssh2", "libtiff", + "libtool", "libuuid", "libxml2", "lz4", @@ -122,8 +112,8 @@ "texinfo", "utf8proc", "xpmem", - "xz", "xxd-standalon", + "xz", "zlib-ng", "zstd" ] diff --git a/stacks/pinot-noir/definitions_helvetios.yaml b/stacks/pinot-noir/definitions_helvetios.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ca4ba7fe51ad3279cebc61ff97ee72782db03b81 --- /dev/null +++ b/stacks/pinot-noir/definitions_helvetios.yaml @@ -0,0 +1 @@ +definitions: [] diff --git a/stacks/pinot-noir/packages_jed.yaml b/stacks/pinot-noir/packages_jed.yaml index d43e828febb6c7ae9dc9e01fed1d4ecbe8ee84fc..dcc04e3ecacc5be4b2e480c5b8056bd880dae8f8 100644 --- a/stacks/pinot-noir/packages_jed.yaml +++ b/stacks/pinot-noir/packages_jed.yaml @@ -2,11 +2,12 @@ packages: all: target: ["icelake"] require: + - "~rocm" + - spec: cuda_arch=90 target=icelake when: '+cuda' - - - spec: '~cuda' - when: '%oneapi' + # - spec: '~cuda' + # when: '%oneapi' - spec: '+cuda' when: '%gcc' @@ -17,6 +18,11 @@ packages: - spec: '+cuda cuda_arch=90' when: '%gcc' + kokkos: + require: + - spec: '+cuda cuda_arch=90 +cuda_uvm' + when: '%gcc' + openmpi: require: - spec: 'fabrics=hcoll +cuda cuda_arch=90 target=icelake' @@ -26,14 +32,25 @@ packages: - spec: '+cuda cuda_arch=90' when: '%gcc' + 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 +vfs +gdrcopy +cuda cuda_arch=90 target=icelake' + - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +vfs +gdrcopy +cuda cuda_arch=90 target=icelake ~rocm' # --------------------------------------------------------------------------- # Externals # --------------------------------------------------------------------------- - hcoll: buildable: False externals: diff --git a/stacks/pinot-noir/packages_stack.yaml b/stacks/pinot-noir/packages_stack.yaml index b1cfa3a4e8f696ea9a291cc474a2181bb4b5d7cf..dbb2084f075cdc958a7a430f0fbd9e35e2ba5f99 100644 --- a/stacks/pinot-noir/packages_stack.yaml +++ b/stacks/pinot-noir/packages_stack.yaml @@ -4,35 +4,41 @@ packages: - spec: "^libiconv" when: "^iconv" - - spec: ^intel-oneapi-mpi - when: '%oneapi ^mpi' + # - spec: ^intel-oneapi-mpi + # when: '%oneapi ^mpi' - - spec: ^openmpi - when: '%gcc ^mpi' + # - spec: ^openmpi + # when: '%gcc ^mpi' - - spec: ^openmpi - when: '%aocc ^mpi' + # - spec: ^openmpi + # when: '%aocc ^mpi' - - spec: ^nvhpc+mpi - when: '%nvhpc ^mpi' + # - spec: ^nvhpc+mpi + # when: '%nvhpc ^mpi' - - spec: ^openblas - when: '%gcc ^blas' + # - spec: ^openblas + # when: '%gcc ^blas' - - spec: ^openblas - when: '%gcc ^lapack' + # - spec: ^openblas + # when: '%gcc ^lapack' - - spec: ^intel-oneapi-mkl - when: '%oneapi ^blas' + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^blas' - - spec: ^intel-oneapi-mkl - when: '%oneapi ^lapack' + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^lapack' - - spec: ^nvhpc+blas - when: '%nvhpc ^blas' + # - spec: ^nvhpc+blas + # when: '%nvhpc ^blas' - - spec: ^nvhpc+lapack - when: '%nvhpc ^lapack' + # - spec: ^nvhpc+lapack + # when: '%nvhpc ^lapack' + + # - spec: ^openblas + # when: '%gcc ^py-numpy' + + # - spec: ^intel-oneapi-mkl + # when: '%oneapi ^py-numpy' - spec: '+ipo' when: '%gcc' @@ -40,19 +46,39 @@ packages: # ---------------------------------------------------------------------------- # 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: - require: + prefer: + - spec: '+mpi' - spec: '@1.14.3' + require: - spec: '+hl +threadsafe +szip +cxx +fortran' - spec: '+ipo' when: '%gcc' @@ -67,6 +93,17 @@ packages: 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' @@ -74,31 +111,50 @@ packages: 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'] + opencv: + prefer: ['+vtk', '+python3'] + openmpi: require: - - spec: '@5.0.3 fabrics=ofi,ucx,verbs schedulers=slurm ~rsh +romio romio-filesystem=gpfs +internal-pmix' + - 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: - - spec: '+hypre +mumps +saws +scalapack' + - spec: '+hypre +mumps +saws +scalapack +mpi +suite-sparse +kokkos' python: require: - - spec: +ssl - - spec: +optimizations + - spec: '+ssl +tkinter' + - spec: '+optimizations' when: '%gcc' + py-tensorflow: + require: ['+mpi'] + + py-torch: + require: ['+mpi', '~magma'] + + suite-sparse: + require: + - spec: '+graphblas' + tk: require: ['+xft', '+xss'] @@ -111,6 +167,18 @@ packages: # ---------------------------------------------------------------------------- # 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: @@ -123,8 +191,78 @@ packages: - spec: 'slurm@23-11-7-1' prefix: /usr - pmix: + + # ---------------------------------------------------------------------------- + # Externals + # ---------------------------------------------------------------------------- + abaqus: buildable: false + permissions: {read: group, group: abaqus-soft} externals: - - spec: 'pmix@5.0.1' - prefix: /usr + - {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/spack.yaml b/stacks/pinot-noir/spack.yaml index 3fec7b0e75afe5505627f8ba908bb9ca12c2ab55..1bafcf146002f28db65dd8101454e522fac2da11 100644 --- a/stacks/pinot-noir/spack.yaml +++ b/stacks/pinot-noir/spack.yaml @@ -59,9 +59,11 @@ spack: - lmod - mpfr - neovim + - ninja - parallel - picard - rclone + - rust - sbt - sratoolkit - subversion @@ -79,50 +81,240 @@ spack: # ------------------------------------------------------------------------- - serial_codes: - bwa + - boost ~mpi - fftw +openmp ~mpi - fftw ~openmp ~mpi + - eigen - gsl - #- hdf5 ~mpi + - 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 - python - scotch - 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: - - osu-micro-benchmarks +graphing + - 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 - - blas_mpi_codes: + - 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 - - blas_mpi_python_codes: - - petsc@3.21.1 +mpi + # ------------------------------------------------------------------------- + # 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 @@ -131,7 +323,6 @@ spack: - $mpi_oneapi - $mpi_gcc - specs: - matrix: - [$compilers_specs] @@ -168,6 +359,62 @@ spack: - [$gcc_serial_codes] - [$%compiler_gcc] + - matrix: + - [$oneapi_serial_codes] + - [$%compiler_oneapi] + + - matrix: + - [$cuda_serial_codes] + - [$%compiler_gcc] + + - matrix: + - [$blas_codes] + - [$^blas_gcc] + - [$%compiler_gcc] + + - matrix: + - [$blas_codes] + - [$^blas_oneapi] + - [$%compiler_oneapi] + + - 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_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] @@ -179,26 +426,38 @@ spack: - [$%compiler_gcc] - matrix: - - [$blas_mpi_codes] + - [$gcc_mpi_codes] + - [$^mpi_gcc] + - [$%compiler_gcc] + + - matrix: + - [$mpi_blas_codes] - [$^blas_oneapi] - [$^mpi_oneapi] - [$%compiler_oneapi] - matrix: - - [$blas_mpi_codes] + - [$mpi_blas_codes] - [$^blas_gcc] - [$^mpi_gcc] - [$%compiler_gcc] - matrix: - - [$blas_mpi_python_codes] + - [$mpi_blas_python_codes] - [$^blas_oneapi] - [$^mpi_oneapi] - [$^python_oneapi] - [$%compiler_oneapi] - matrix: - - [$blas_mpi_python_codes] + - [$mpi_blas_python_codes] + - [$^blas_gcc] + - [$^mpi_gcc] + - [$^python_gcc] + - [$%compiler_gcc] + + - matrix: + - [$gcc_mpi_blas_python_codes] - [$^blas_gcc] - [$^mpi_gcc] - [$^python_gcc]