packages:
  all:
    target: ["zen4"]
    require:
      - "~rocm"

      - spec: cuda_arch=89 target=zen4
        when: '+cuda'

      - spec: '+cuda'
        when: '%gcc'

  # ---------------------------------------------------------------------------
  hypre:
    require:
    - spec: '+cuda cuda_arch=89 +unified-memory'
      when: '%gcc'

  kokkos:
    require:
    - spec: '+cuda cuda_arch=89 +cuda_uvm +wrapper ~openmptarget'
      when: '%gcc'

  nvshmem:
    require:
    - spec: '+cuda cuda_arch=89 +ibgda +nccl +ucx +mpi +pmix'

  openmpi:
    require:
      - spec: '+cuda cuda_arch=89 target=zen4'

  petsc:
    require:
    - spec: '+cuda cuda_arch=89'
      when: '%gcc'

  py-tensorflow:
    require:
    - spec: '+cuda cuda_arch=89 +nccl'

  py-torch:
    require:
    - spec: '+cuda cuda_arch=89 +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=89 ~rocm target=zen4'

  # ---------------------------------------------------------------------------
  # Externals
  # ---------------------------------------------------------------------------
  pmix:
    buildable: false
    externals:
    - spec: 'pmix@5.0.2'
      prefix: /usr

  rdma-core:
    buildable: false
    externals:
    - spec: 'rdma-core@51.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