Skip to content

[SYCL][DOC] Introduce limitations to the Reusable Events specification.#22658

Draft
slawekptak wants to merge 6 commits into
intel:syclfrom
slawekptak:ext_reusable_events_spec_cross_ctx_queue_returned_limit
Draft

[SYCL][DOC] Introduce limitations to the Reusable Events specification.#22658
slawekptak wants to merge 6 commits into
intel:syclfrom
slawekptak:ext_reusable_events_spec_cross_ctx_queue_returned_limit

Conversation

@slawekptak

@slawekptak slawekptak commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Update the sycl_ext_oneapi_reusable_events specification with the following:

  • Introduce reusable and non-reusable events.
  • Reusable events can only be used with the APIs defined in the Reusable Events extension.
  • Non-reusable events (e.g., returned from queue::submit) cannot be used with the APIs defined in the Reusable Events extension.

The limitations are related to how host tasks are used for cross-context dependencies in the SYCL RT.

Update the sycl_ext_oneapi_reusable_events specification with some
limitations related to the following:
- Limit the interoperability between the Reusable Events API and
other event APIs.
- Limit the enqueue_wait_event and enqueue_wait_events, so they can
only be called with events on the same context as the queue.

The limitations are related to how host tasks are used for
cross-context dependencies in the SYCL RT.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the SYCL sycl_ext_oneapi_reusable_events specification to explicitly distinguish between reusable vs non-reusable events and to constrain which events may be used with the extension’s APIs, motivated by runtime limitations around cross-context dependencies involving host tasks.

Changes:

  • Defines reusable events vs non-reusable events and adds event::ext_oneapi_reusable() to query reusability.
  • Specifies that APIs in the Reusable Events extension reject non-reusable events (via errc::invalid).
  • Updates the IPC extension spec to state that events returned from open are reusable.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
sycl/doc/extensions/proposed/sycl_ext_oneapi_reusable_events.asciidoc Introduces reusable/non-reusable event semantics, adds a query API, and tightens constraints/throws for extension functions.
sycl/doc/extensions/experimental/sycl_ext_oneapi_inter_process_communication.asciidoc Clarifies that IPC open returns a reusable event and references the reusable events extension.

Comment thread sycl/doc/extensions/proposed/sycl_ext_oneapi_reusable_events.asciidoc Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants