Skip to content
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

[SYCL] Use PI APIs for cooperative kernels #12367

Merged
merged 35 commits into from
Feb 22, 2024

Conversation

0x12CC
Copy link
Contributor

@0x12CC 0x12CC commented Jan 11, 2024

This change updates the SYCL runtime to use piextKernelSuggestMaxCooperativeGroupCount and piextEnqueueCooperativeKernelLaunch for cooperative kernels. These functions are used to implement the query and launch kernels as described in the sycl_ext_oneapi_root_group extension.

This change updates the SYCL runtime to use
`piextKernelSuggestMaxCooperativeGroupCount` and
`piextEnqueueCooperativeKernelLaunch` for cooperative kernels. These functions
are used to implement the query and launch kernels as described in the
sycl_ext_oneapi_root_group extension.

Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Copy link
Contributor

github-actions bot commented Jan 11, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Copy link
Contributor

@aelovikov-intel aelovikov-intel left a comment

Choose a reason for hiding this comment

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

FYI: we don't run unittests in our CI, known deficiency.

sycl/source/handler.cpp Outdated Show resolved Hide resolved
sycl/include/sycl/ext/oneapi/experimental/root_group.hpp Outdated Show resolved Hide resolved
sycl/source/detail/jit_compiler.cpp Outdated Show resolved Hide resolved
sycl/source/detail/kernel_impl.hpp Outdated Show resolved Hide resolved
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
@kbenzie
Copy link
Contributor

kbenzie commented Feb 19, 2024

Looks like after pulling in the latest sycl branch changes and updating the UR tag there's a regression, not sure if this is realted or not.

Timed Out Tests (1):
  SYCL :: ESIMD/regression/complex-lib-lin.cpp

@kbenzie
Copy link
Contributor

kbenzie commented Feb 20, 2024

Looks like after pulling in the latest sycl branch changes and updating the UR tag there's a regression, not sure if this is realted or not.

Timed Out Tests (1):
  SYCL :: ESIMD/regression/complex-lib-lin.cpp

Okay, seems to have gone away today after pulling in sycl branch again.

@againull what are your thoughts on the readiness of this PR?

Signed-off-by: Michael Aziz <michael.aziz@intel.com>
sycl/include/sycl/detail/pi.h Outdated Show resolved Hide resolved
Co-authored-by: Artur Gainullin <artur.gainullin@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
Signed-off-by: Michael Aziz <michael.aziz@intel.com>
@0x12CC
Copy link
Contributor Author

0x12CC commented Feb 21, 2024

Failed Tests (8):
  SYCL :: Assert/assert_in_kernels_win.cpp
  SYCL :: Assert/assert_in_multiple_tus_one_ndebug_win.cpp
  SYCL :: Assert/assert_in_multiple_tus_win.cpp
  SYCL :: Assert/assert_in_one_kernel_win.cpp
  SYCL :: Assert/assert_in_simultaneous_kernels_win.cpp
  SYCL :: Assert/assert_in_simultaneously_multiple_tus.cpp
  SYCL :: Assert/assert_in_simultaneously_multiple_tus_one_ndebug.cpp
  SYCL :: Plugin/sycl-ls-unified-runtime.cpp

These tests are also failing in #12783 and are unrelated to this PR. @intel/llvm-gatekeepers, I think this is ready to merge.

@steffenlarsen
Copy link
Contributor

Windows Gen12:

Failed Tests (8):
  SYCL :: Assert/assert_in_kernels_win.cpp
  SYCL :: Assert/assert_in_multiple_tus_one_ndebug_win.cpp
  SYCL :: Assert/assert_in_multiple_tus_win.cpp
  SYCL :: Assert/assert_in_one_kernel_win.cpp
  SYCL :: Assert/assert_in_simultaneous_kernels_win.cpp
  SYCL :: Assert/assert_in_simultaneously_multiple_tus.cpp
  SYCL :: Assert/assert_in_simultaneously_multiple_tus_one_ndebug.cpp
  SYCL :: Plugin/sycl-ls-unified-runtime.cpp

Reported in #12797 and #12798

@steffenlarsen steffenlarsen merged commit 66d35e2 into intel:sycl Feb 22, 2024
9 of 10 checks passed
@0x12CC 0x12CC deleted the pi_cooperative_kernels branch February 22, 2024 15:26
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.