-
Notifications
You must be signed in to change notification settings - Fork 794
[SYCL] Extend no-handler submission path to support kernel properties. #20524
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
base: sycl
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR extends the no-handler (direct) kernel submission path to support kernel properties. Previously, kernel properties required handler-based submission, but now they can be used with the more efficient direct submission path for single_task, parallel_for, and nd_launch operations.
- Added kernel property support to direct submission functions
- Updated function signatures to accept and propagate kernel properties
- Removed conditional checks that forced handler-based submission when properties were present
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| sycl/test/abi/sycl_symbols_linux.dump | Updated ABI symbols to reflect new function signatures with kernel property parameters |
| sycl/source/queue.cpp | Added Props parameter to template instantiations and forwarding calls |
| sycl/source/detail/queue_impl.hpp | Updated method signatures to accept kernel property holder parameter |
| sycl/source/detail/queue_impl.cpp | Implemented property validation and extraction in the direct submission path |
| sycl/include/sycl/queue.hpp | Refactored function signatures to support properties, merged kernel and launch properties, and removed property-based submission restrictions |
| sycl/include/sycl/khr/free_function_commands.hpp | Removed property checks from conditional compilation and updated function calls |
| sycl/include/sycl/ext/oneapi/experimental/enqueue_functions.hpp | Enabled property support for nd_launch with launch_config and updated other enqueue functions |
| HasKernelPropertiesGetMethod< | ||
| const KernelType &>::value) && | ||
| !(detail::KernelLambdaHasKernelHandlerArgT<KernelType, | ||
| // TODO The handler-less path does not support kernel functions with the |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra space in comment: 'does not support kernel functions' should be 'does not support kernel functions'.
| // TODO The handler-less path does not support kernel functions with the | |
| // TODO The handler-less path does not support kernel functions with the |
| detail::submit_kernel_direct_single_task( | ||
| q, ext::oneapi::experimental::empty_properties_t{}, | ||
| std::forward<KernelType>(k), codeLoc); | ||
| q, std::forward<KernelType>(k), |
Copilot
AI
Oct 31, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra space after 'q,': should be 'q, std::forward' with single space.
No description provided.