Skip to content

[SYCL][L0] Support DPC++ extension Queue Order Properties. #3396

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

Merged
merged 20 commits into from
Apr 1, 2021

Conversation

rbegam
Copy link
Contributor

@rbegam rbegam commented Mar 23, 2021

Adds in-order queue semantics.
Reverts [SYCL] Temporarily restore event deps in in-order queues for Level Zero #3188

Signed-off-by: rbegam rehana.begam@intel.com

@rbegam rbegam requested review from smaslov-intel and a team as code owners March 23, 2021 02:18
@@ -2138,6 +2157,7 @@ pi_result piQueueCreate(pi_context Context, pi_device Device,
try {
*Queue =
new _pi_queue(ZeCommandQueue, Context, Device, ZeCommandListBatchSize);
(*Queue)->PiQueueProperties = Properties;
Copy link
Contributor

Choose a reason for hiding this comment

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

add this to constructor instead

Copy link
Contributor

Choose a reason for hiding this comment

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

We call new _pi_queue in piextQueueCreateWithNativeHandle as well. But there is no Properties coming into that function. What do we do there? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

We will have to choose something as a default, I guess OOO since that is the default SYCL's choice. If needed we could add an extension for users' to specify properties with the interop API later on.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please do have it in the constructor.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sorry, missed this comment, done.

@smaslov-intel
Copy link
Contributor

We need to record/wait for submissions to the immediate command-list of the queue in piMemBufferCreate/piMemImageCreate

Copy link
Contributor

@smaslov-intel smaslov-intel left a comment

Choose a reason for hiding this comment

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

I've noted something that I'd asked you to change. Please don't use "amend" with the new commits, such that I can review incremental changes only.

Copy link
Contributor

@smaslov-intel smaslov-intel left a comment

Choose a reason for hiding this comment

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

few more comments

@rbegam rbegam changed the title [WIP][SYCL][L0] support DPC++ extension Queue Order Properties. [SYCL][L0] support DPC++ extension Queue Order Properties. Mar 29, 2021
@rbegam
Copy link
Contributor Author

rbegam commented Mar 31, 2021

the only lit-fail for SIMD/vadd.cpp is unrelated to this change. I've talked with @DenisBakhvalov and he has uploaded a fix here: #3457.
as soon as that PR is merged, lit_with_cuda, sycl-ubu-x64-pr and sycl-win-x64-pr should pass.

smaslov-intel
smaslov-intel previously approved these changes Mar 31, 2021
@rbegam
Copy link
Contributor Author

rbegam commented Apr 1, 2021

there are 4 fails (3 time-outs and one ESIMD fail) for windows precommit testing for OpenCL which says
"Both exp and ref have failure cases for PI_OPENCL".

for level_zero both linux and windows precommit tests pass. I am restarting the test.
for the ESIMD, I think this requires the same correcting as #3457.

Signed-off-by: rbegam <rehana.begam@intel.com>
rbegam added 17 commits March 31, 2021 18:49
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
Signed-off-by: rbegam <rehana.begam@intel.com>
@bader bader requested a review from asudarsa April 1, 2021 17:42
@bader bader changed the title [SYCL][L0] support DPC++ extension Queue Order Properties. [SYCL][L0] Support DPC++ extension Queue Order Properties. Apr 1, 2021
Copy link
Contributor

@asudarsa asudarsa left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks

@pvchupin pvchupin merged commit 5bc3cb2 into intel:sycl Apr 1, 2021
pvchupin pushed a commit that referenced this pull request Apr 2, 2021
pvchupin pushed a commit that referenced this pull request Apr 2, 2021
…3396)" (#3479)

This reverts commit 5bc3cb2 
done in PR#3396 due to issues found.
rbegam added a commit to rbegam/llvm that referenced this pull request Apr 3, 2021
pvchupin pushed a commit that referenced this pull request Apr 4, 2021
Return back "[SYCL][L0] Support DPC++ extension Queue Order Properties. (#3396)" reverted earlier in (#3479)
Added fix for the segfault happening due to wait on an already released event.
The related test SYCL/InorderQueue/in_order_event_release.cpp is added in llvm-test-suite.

Signed-off-by: rbegam rehana.begam@intel.com
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.

4 participants