GPU-aware MPI detection in SYCL

Basic support was added in 194f9ac1.

Follow-ups before the release:

  • Documentation for Intel (#4627 (closed)).
  • Support for ROCm-aware OpenMPI: it uses MPIX_Query_rocm_support (https://github.com/open-mpi/ompi/pull/10915), while MPICH has MPIX_Query_hip_support: !3355 (merged)
  • Actually consider GPU awareness when deciding workloads: currently, only CUDA-awareness is checked. !3366 (merged)
  • Document the tested versions and their stability.
  • Refuse to do GPU-aware MPI unless devices come from L0 backend (which IMPI requires). If the devices come from an OpenCL backend, then confusing segfaults happen when IMPI interprets an OpenCL-derived GPU pointer as a host pointer. IMPI does not have a good way to detect the mismatch at its level. !4715 (merged)
Edited by Mark Abraham