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

Remove references to compile/build_with_source #754

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Pennycook
Copy link
Contributor

@Pennycook Pennycook commented Feb 25, 2025

These functions were removed alongside the program object in SYCL 2020.

The section correctly pointed to kernel_bundle as the replacement, but referred to member functions that didn't exist.

Closes #389.


I'm honestly not sure whether I've fixed this correctly, and I was surprised to discover that we define both a make_kernel_bundle and a create_bundle function. I think this is correct, though -- a developer can create a cl_program from source using OpenCL functionality, and then create a kernel_bundle from that.

These functions were removed alongside the program object in SYCL 2020.

The section correctly pointed to kernel_bundle as the replacement, but referred
to member functions that didn't exist.
Copy link
Contributor

@gmlueck gmlueck left a comment

Choose a reason for hiding this comment

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

I was surprised to discover that we define both a make_kernel_bundle and a create_bundle function

This occurs because the signature of make_kernel_bundle has to have a specific set of parameters that are dictated by the backend_traits. See section 4.5.1.3. Personally, I'd like to remove all these make_ functions from the core spec and let each backend define its own set of functions that construct SYCL objects from backend objects.

Pennycook and others added 2 commits March 3, 2025 14:31
Clarifies that they are in different namespaces.

Co-authored-by: Greg Lueck <[email protected]>
@Pennycook
Copy link
Contributor Author

This occurs because the signature of make_kernel_bundle has to have a specific set of parameters that are dictated by the backend_traits. See section 4.5.1.3. Personally, I'd like to remove all these make_ functions from the core spec and let each backend define its own set of functions that construct SYCL objects from backend objects.

I agree. Trying to force all of the backend interoperability functions to use the same interface is just going to make lots of work for the WG and implementers: either the interface has to keep being updated to chase the latest implementation requirements, or implementers have to constrain features and capabilities in order to satisfy interoperability.

@tomdeakin, could we make time in the SYCL WG agenda to discuss potentially deprecating all of these make_ functions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

References to build_with_source and compile_with_source
2 participants