[SYCL][DOC] Physical memory IPC specification, generic handle struct and related aliases.#21949
[SYCL][DOC] Physical memory IPC specification, generic handle struct and related aliases.#21949slawekptak wants to merge 12 commits intointel:syclfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the sycl_ext_oneapi_inter_process_communication extension specification to generalize IPC handle representation and to specify IPC support for sycl::ext::oneapi::experimental::physical_mem, while also aligning the existing USM IPC text with the new direction.
Changes:
- Introduces generic IPC handle types under
sycl::ext::oneapi::experimental::ipc(handle,handle_data_t,handle_data_view_t). - Adds a new “Inter-process exchange of physical memory” section with
ipc::physical_memory::{get, open}APIs and the new device aspect. - Updates USM IPC documentation to fix examples/calls and explicitly marks
ipc_memory::handleas backward-compatibility-only pending an ABI break.
…uirement for the open function, add enable_ipc property.
IPC for memory in ipc::memory namespace.
was not created with the enable_ipc property.
| namespace. | ||
|
|
||
| ``` | ||
| namespace syclext = sycl::ext::oneapi::experimental; |
There was a problem hiding this comment.
It would be better not to define this namespace alias in the synopsis. I don't want people to think that the identifier syclext is part of the public API. In the function declarations below, I think you don't need the namespace qualifier because C++ rules will look in all parent namespaces. Therefore, it should be OK to declare the functions like:
handle get(const physical_mem &phys_mem);
The implementation should also not define the namespace alias syclext for the same reason.
Same comment for the other places where you have defined namespace aliases.
There was a problem hiding this comment.
My point was to emphasize that handle used here is a different type from the one used in ipc_memory namespace, but it is a good point that we shouldn't suggest that the alias is part of the API.
Introduce the following changes to the extensions specifications: