What IPC interface should I use?
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
**Is your feature request related to a problem? Please describe**
On other multiGPU architecture I use peer2peer memory access.
There is no defined API that I see in SYCL 2020.
There is a defined API in Level 0 API,
https://spec.oneapi.com/level-zero/latest/core/PROG.html?highlight=peer#memory-1
Is this intended for end user use?
**Describe the solution you would like**
I would like to programme in pure an portable SYCL.
A single SYCL interface that maps to peer2peer on Nvidia, AMD and Intel GPUs.
**Describe alternatives you have considered**
Mixing SYCL for single GPU and direct calling level 0 API for peer2peer memory.
This ties the SYCL compile of my library to Intel specific Level0 API for this functionality.
Option to just use MPI for device 2 device, but possibly miss optimisations
**Additional context**
https://github.com/paboyle/Grid/blob/develop/Grid/communicator/SharedMemoryMPI.cc
Line. 495
Need a "#ifdef GRID_SYCL" case here, but not sure which API to use. Level 0 looks viable, but better to be valid SYCL.
Thanks!
Contributor guide
Assessment
This issue has not been assessed yet.