Skip to content

Conversation

nrspruit
Copy link
Contributor

  • When SYCl Calls the L0 adapter without a signal event, L0 creates an internal event.
  • Given in order command queue, the internal event for the wait/signal is implicitly added to the wait list of the next command if executeCommandList is called.
  • This ensures that the internal event is properly synchronized with the command queue during that next call given SYCL is failing to create a UR event for tracking the wait/signal.

- When SYCl Calls the L0 adapter without a signal event, L0 creates an internal event.
- Given in order command queue, the internal event for the wait/signal is
implicitly added to the wait list of the next command if executeCommandList is called.
- This ensures that the internal event is properly synchronized with the command queue
during that next call given SYCL is failing to create a UR event for tracking the wait/signal.

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
@nrspruit nrspruit requested a review from a team as a code owner August 22, 2025 16:10
@enm-intel
Copy link

Are there any unit or conformance tests that test the issue this PR fixes?

@nrspruit
Copy link
Contributor Author

Are there any unit or conformance tests that test the issue this PR fixes?

https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/bindless_images/vulkan_interop/unsampled_images.cpp will reproduce the issue, however only sporadically so that means a new CTS is needed to validate the sycl side does not get executed before the Vulkan dependency is executed.

@nrspruit
Copy link
Contributor Author

it should be noted, that while this is needed to fix the issue for L0 indirect internal events, the root bug is that external semaphores in sycl are not implemented properly.

@nrspruit
Copy link
Contributor Author

@intel/bindless-images-reviewers , please review, this addresses the missing support for internal events given external semaphore. I will be working on adding a CTS to cover this gap in another review, but adding that CTS will result in new failures since the larger bug is in the SYCL layer itself.

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