spack:
  view: false

  concretizer:
    unify: false
    reuse: false

  compilers:
  - compiler:
      spec: oneapi@2022.12.30.003
      paths:
        cc: /opt/aurora/23.073.0/CNDA/oneapi/compiler/trunk-20230201/compiler/linux/bin/icx
        cxx: /opt/aurora/23.073.0/CNDA/oneapi/compiler/trunk-20230201/compiler/linux/bin/icpx
        f77: /opt/aurora/23.073.0/CNDA/oneapi/compiler/trunk-20230201/compiler/linux/bin/ifx
        fc: /opt/aurora/23.073.0/CNDA/oneapi/compiler/trunk-20230201/compiler/linux/bin/ifx
      flags: {}
      operating_system: sles15
      target: x86_64
      modules:
      - oneapi/eng-compiler/2022.12.30.003
  - compiler:
      spec: gcc@11.2.0
      paths:
        cc: /opt/cray/pe/gcc/11.2.0/bin/gcc
        cxx: /opt/cray/pe/gcc/11.2.0/bin/g++
        f77: /opt/cray/pe/gcc/11.2.0/bin/gfortran
        fc: /opt/cray/pe/gcc/11.2.0/bin/gfortran
      flags: {}
      operating_system: sles15
      target: x86_64
      modules: [gcc/11.2.0]
      environment: {}
      extra_rpaths: []

  packages:
    all:
      require: '%oneapi target=sapphirerapids'
      providers:
        blas: [openblas]
        mpi: [mpich]
        tbb: [intel-tbb]
      variants: +mpi
    elfutils:
      variants: +bzip2 ~nls +xz
    hdf5:
      require: '%gcc'
      variants: +fortran +hl +shared
    libunwind:
      variants: +pic +xz
    ncurses:
      variants: +termlib
    openblas:
      variants: threads=openmp
    trilinos:
      variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
        +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
        +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
        +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
    mesa:
      version: [21.3.8]
      require: osmesa
    paraview:
      require: ~qt +osmesa
    visit:
      require: ~gui +osmesa
    mpi:
      require: mpich
    py-cryptography:
      require: '@38.0.1'
    m4:
      require: '%gcc'
    autoconf:
      require: '%gcc'
    unzip:
      require: '%gcc'
    binutils:
      require: '%gcc'
      variants: +ld +gold +headers +libiberty ~nls
    llvm:
      require: '%gcc'
    ruby:
      require: '%gcc'
    rust:
      require: '%gcc'
    krb5:
      require: '%gcc'
    papi:
      require: '%gcc'
    openssh:
      require: '%gcc'
    adios2:
      require: '%gcc'
    bison:
      require: '%gcc'
    libffi:
      require: "@3.4.4"
    dyninst:
      require: '%gcc'

    ocl-icd:
      externals:
      - spec: ocl-icd@master-2022.05.18 %oneapi
        prefix: /soft/libraries/khronos/loader/master-2022.05.18/
      buildable: false

    opencl-c-headers:
      externals:
      - spec: opencl-c-headers@master-2022.05.18 %oneapi
        prefix: /soft/libraries/khronos/headers/master-2022.05.18
      buildable: false

    opencl-clhpp:
      externals:
      - spec: opencl-clhpp@master-2022.05.18 %oneapi
        prefix: /soft/libraries/khronos/headers/master-2022.05.18
      buildable: false

    oneapi-level-zero:
      externals:
      - spec: oneapi-level-zero@1.11.0 %oneapi
        prefix: /opt/aurora/23.073.0/intel-gpu-umd/agama-devel-551/driver
        modules:
        - intel_compute_runtime/release/agama-devel-551
      buildable: false

    mpich:
      externals:
      - spec: mpich@51.2 %oneapi
        prefix: /soft/restricted/CNDA/updates/mpich/51.2/mpich-ofi-all-icc-default-pmix-gpu-drop51
        modules:
        - mpich/51.2/icc-all-pmix-gpu
        - gcc/11.2.0
        - oneapi/eng-compiler/2022.12.30.003
        - intel_compute_runtime/release/agama-devel-551
        - libfabric/1.15.2.0
        - cray-pals/1.3.2
        - cray-libpals/1.3.2
      buildable: false

  specs:
  # CPU
  - adios
  - aml
  - amrex
  - arborx
  - argobots
  - axom
  - bolt
  - boost
  - bricks ~cuda
  - butterflypack
  - cabana
  - caliper
  - chai ~benchmarks ~tests
  - charliecloud
  - conduit
  - datatransferkit
  - flecsi
  - flit
  - flux-core
  - fortrilinos
  - gasnet
  - ginkgo
  - globalarrays
  - gmp
  - gotcha
  - h5bench
  - hdf5-vol-async
  - hdf5-vol-cache
  - hdf5-vol-log
  - heffte +fftw
  - hpx networking=mpi
  - hypre
  - kokkos +openmp
  - kokkos-kernels +openmp
  - lammps
  - legion
  - libnrm
  - libquo
  - libunwind
  - loki # cxxflags="-Wno-error=dynamic-exception-spec"
  - mercury
  - metall
  - mfem
  - mpark-variant
  - mpifileutils ~xattr
  - nccmp
  - nco
  - netlib-scalapack
  - openmpi
  - papi
  - papyrus
  - parsec ~cuda
  - pdt
  - petsc
  - phist
  - plasma
  - plumed
  - precice
  - pruners-ninja
  - pumi
  - py-h5py
  - py-jupyterhub
  - py-libensemble
  - py-petsc4py
  - qthreads scheduler=distrib
  - quantum-espresso
  - raja
  - rempi
  - scr
  - slate ~cuda
  - slepc
  - stc
  - strumpack ~slate
  - sundials
  - superlu
  - superlu-dist
  - swig@4.0.2-fortran
  - sz3
  - tasmanian
  - tau +mpi +python
  - trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
  - turbine
  - umap
  - umpire
  - variorum
  - wannier90
  # INCLUDED IN ECP DAV CPU
  # - adios2
  # - ascent
  # - darshan-runtime
  # - darshan-util
  # - faodel
  # - hdf5
  # - libcatalyst
  # - parallel-netcdf
  # - paraview                                    # qt@5.14.2: qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:295:7: error: 'numeric_limits' is not a class template
  # - py-cinemasci
  # - sz
  # - unifyfs
  # - veloc
  # - visit                                       #
  # - vtk-m ~openm
  # - zfp
  # --
  # - alquimia                                    #
  # - dealii                                      # 
  # - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp #
  # - exaworks                                    # 
  # - geopm                                       # 
  # - gptune ~mpispawn                            # py-scipy: '%oneapi@:2023.0' conflicts with '@1.9:'
  # - hpctoolkit                                  # 
  # - lbann                                       # 
  # - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp # 
  # - mgard +serial +openmp +timing +unstructured ~cuda # 
  # - nrm ^py-scipy@1.10.1                        # py-scipy: '%oneapi@:2023.0' conflicts with '@1.9:'
  # - omega-h                                     # trilinos
  # - openfoam                                    # 
  # - openpmd-api                                 # 
  # - py-warpx                                    # py-scipy: '%oneapi@:2023.0' conflicts with '@1.9:'
  # - upcxx                                       # 
  # - xyce +mpi +shared +pymi +pymi_static_tpls   # 

  # GPU
  - aml +ze
  - arborx +sycl ^kokkos +sycl +openmp cxxstd=17 +tests +examples
  - cabana +sycl ^kokkos +sycl +openmp cxxstd=17 +tests +examples
  - kokkos +sycl +openmp cxxstd=17 +tests +examples
  - kokkos-kernels build_type=Release %oneapi ^kokkos +sycl +openmp cxxstd=17 +tests +examples
  - petsc +sycl
  - slate +sycl
  - sundials +sycl +examples-install cxxstd=17 cxxflags="-fsycl"
  - tau +mpi +opencl +level_zero ~pdt +syscall
  # --
  # - amrex +sycl                                 # amrex: InstallError: amrex +sycl requires %oneapi@2023.0.0:
  # - ginkgo +oneapi                              # ginkgo: InstallError: Ginkgo's oneAPI backend requires theDPC++ compiler as main CXX compiler.
  # - hpctoolkit +level_zero                      #
  
  # Deployment utilities
  - gmake

