packages:
  all:
    target: ["icelake"]
    require:
      - spec: cuda_arch=90 target=icelake
        when: '+cuda'

      - spec: '~cuda'
        when: '%oneapi'

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

  # ---------------------------------------------------------------------------
  hypre:
    require:
    - spec: '+cuda cuda_arch=90'
      when: '%gcc'

  openmpi:
    require:
      - spec: 'fabrics=hcoll +cuda cuda_arch=90 target=icelake'

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

  ucx:
    require:
      - spec: '+xpmem +cma +rdmacm +rc +ud +dc +verbs +ib_hw_tm +vfs +gdrcopy +cuda cuda_arch=90 target=icelake'

  # ---------------------------------------------------------------------------
  # Externals
  # ---------------------------------------------------------------------------

  hcoll:
    buildable: False
    externals:
    - spec: 'hcoll@4.8.3227'
      prefix: /usr

  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