Skip to content

[SYCL][Graph] Support sycl_ext_oneapi_raw_kernel_arg #15252

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 1 commit into from
Sep 3, 2024

Conversation

EwanC
Copy link
Contributor

@EwanC EwanC commented Sep 2, 2024

Support using the raw_kernel_arg objects defined by sycl_ext_oneapi_raw_kernel_arg in SYCL-Graphs.

The majority of changes in this PR are for supporting the dynamic_parameter feature of SYCL graph. In particular:

  • The [SYCL] Implement the sycl_oneapi_raw_kernel_arg extension #14335 implementation of sycl_oneapi_raw_kernel_argdoesn't use the PIMPL implementation pattern. We therefore add thedynamic_parameter` impl class as a friend so that, it can access the underlying members.

  • To prevent circular include dependencies we can't include the public facing raw_kernel_arg.hpp header in the public facing graph.hpp header to using a raw_kernel_arg specific code path for dynamic_parameter update. Instead we overlead the updateValue(const void *NewValue, size_t Size); method with void updateValue(const raw_kernel_arg *NewRawValue, size_t Size); as the raw_kernel_arg pointer can be forward declared and the compiler will pick the correct code path although the Size argument is unused.

@EwanC EwanC force-pushed the ewan/raw_kernel_arg branch from 50556d7 to fd7b049 Compare September 2, 2024 12:48
@EwanC EwanC force-pushed the ewan/raw_kernel_arg branch from fd7b049 to ca81bfd Compare September 2, 2024 13:41
@EwanC EwanC force-pushed the ewan/raw_kernel_arg branch from ca81bfd to 49078b2 Compare September 3, 2024 08:07
@EwanC EwanC changed the title [SYCL][Graph] Test raw kernel arg interaction [SYCL][Graph] Support sycl_ext_oneapi_raw_kernel_arg Sep 3, 2024
@EwanC EwanC force-pushed the ewan/raw_kernel_arg branch from 49078b2 to 6a14f5a Compare September 3, 2024 08:31
@EwanC EwanC marked this pull request as ready for review September 3, 2024 08:36
@EwanC EwanC requested review from a team as code owners September 3, 2024 08:36
Copy link
Contributor

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

Looks great!

Test using the raw kernel arg objects defined by
[sycl_ext_oneapi_raw_kernel_arg](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_raw_kernel_arg.asciidoc) in SYCL-Graphs. Including for
parameter update.
@EwanC
Copy link
Contributor Author

EwanC commented Sep 3, 2024

@intel/llvm-gatekeepers This is good to merge

@aelovikov-intel aelovikov-intel merged commit badd8c1 into intel:sycl Sep 3, 2024
13 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.

4 participants