Skip to content

Conversation

@steffenlarsen
Copy link
Contributor

This commit implements the UR functionality for device-wide synchronization and the SYCL APIs using it. The latter implements the sycl_ext_oneapi_device_wait extension.

This commit makes the following changes to the behavior of asynchronous
exception handling:

 1. The death of a queue should not consume asynchronous exceptions.
 2. Calling wait_and_throw on an event after the associated queue has
    died should still consume exceptions that were originally associated
    with the queue. This should respect the async_handler priority to
    the best of its ability.
 3. Calling wait_and_throw or throw_asynchronous on a queue without an
    async_handler should fall back to using the async_handler of the
    associated context, then the default async_handler if none were
    attached to the context.

Additionally, this lays the ground work for
intel#20266 by moving the tracking of
unconsumed asynchronous exception to the devices.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
This commit removes a test case where the default handler would be used
if the queue dies. This test case was unreliable as there was no way to
ensure that the runtime was not keeping the queue alive for internal
reasons.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Copy link
Contributor

@pbalcer pbalcer left a comment

Choose a reason for hiding this comment

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

ur lgtm.

This commit implements the UR functionality for device-wide
synchronization and the SYCL APIs using it. The latter implements the
sycl_ext_oneapi_device_wait extension.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen marked this pull request as ready for review December 17, 2025 11:09
@steffenlarsen steffenlarsen requested review from a team as code owners December 17, 2025 11:09
@steffenlarsen
Copy link
Contributor Author

@intel/llvm-reviewers-runtime & @intel/dpcpp-tools-reviewers - Linux drivers now support the device-wide synchronization, so this patch is ready for review! 🥳

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Copy link
Contributor

@YuriPlyakhin YuriPlyakhin left a comment

Choose a reason for hiding this comment

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

LGTM for dpcpp-tools

@steffenlarsen
Copy link
Contributor Author

@intel/llvm-reviewers-runtime - Friendly ping and happy new year! 🎆

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2026

@intel/llvm-gatekeepers please consider merging

@sarnex sarnex merged commit 2e1688f into intel:sycl Jan 6, 2026
48 of 51 checks passed
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.

7 participants