-
Notifications
You must be signed in to change notification settings - Fork 790
[SYCL] Define interop type for images in Level-Zero and OpenCL backends #3606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
add Level-Zero image interop
add OpenCL image interop
LGTM, @alexbatashev could you please take a look as well? |
I think we agreed with @smaslov-intel we want to retire |
Tests instability fixed in test code by replacing '&' with '=' in interop_task lambda - copy accessor objects by value, not by reference. Otherwise accessor could be destroyed before interop_task starts. |
The accessor should stay alive until it goes out of scope. I don't understand why this early destruction was possible. |
If I'm not mistaken, interop tasks run in a separate thread. Tagging @s-kanaev |
There're two kinds of interop tasks:
The former are executed within the enqueueing thread. |
@mikhail-nikolskiy Could you please apply clang-format suggestion? |
So how could accessors be destroyed earlier that the |
We've got two lambdas here:
Now, the accessor is created in command group handler lambda and referred to in interop task lambda. Though, upon call to |
|
Thanks for explaining this non-obvious behavior! |
Currently interop type defined for buffers only.
Tests: llvm-test-suite#252