Skip to content

[SYCL] Add std::span kernel argument overloads to the other launch functions - #23481

Open
mieshkiwrk wants to merge 8 commits into
intel:syclfrom
mieshkiwrk:mdziado/kernel-args-span-overloads
Open

mieshkiwrk wants to merge 8 commits into
intel:syclfrom
mieshkiwrk:mdziado/kernel-args-span-overloads

Conversation

@mieshkiwrk

@mieshkiwrk mieshkiwrk commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #23480, as asked in the review of #22971: the same std::span<const raw_kernel_arg> overloads for single_task, both parallel_for forms and nd_launch with a launch_config, on a queue and a handler, with their spec. They bind through the handler, like their parameter pack overloads. They are part of version 2 of the extension, so this PR needs to land in the same release as #23479 and #23480.

Depends on #23479 and #23480, whose changes it includes.

Comment thread sycl/doc/extensions/experimental/sycl_ext_oneapi_enqueue_functions.asciidoc Outdated
This reverts commit dba07b4.

A kernel defined as a named function object cannot be launched through a kernel object, so the example needs the free function kernel.

@gmlueck gmlueck left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Spec changes LGTM

uditagarwal97 pushed a commit that referenced this pull request Oct 20, 2026
Spec part of #22971, split out so it can be reviewed on its own:
- `sycl_ext_oneapi_enqueue_functions` version 2: `nd_launch` overloads
taking a `sycl::nd_range` and the arguments of a `sycl::kernel` as a
`std::span<const raw_kernel_arg>` (C++20).
- `sycl_ext_oneapi_raw_kernel_arg` version 2: a `pointer_arg`
constructor, since the byte form cannot pass a pointer portably.

The other launch functions get the same overloads in #23481.

This branch has not been deployed

No deployments
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.

2 participants