-
Notifications
You must be signed in to change notification settings - Fork 738
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][DOC] Add sycl_ext_oneapi_user_defined_reductions specification #7202
[SYCL][DOC] Add sycl_ext_oneapi_user_defined_reductions specification #7202
Conversation
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
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.
Thanks for writing this up. I have a few small suggestions.
One question I had that doesn't really fit anywhere is whether we want to tie this to reductions. It occurred to me while reviewing that we could extend the scan functions in exactly the same way. I don't think we have to add those functions now, but I'm wondering if we should call this something like user_defined_group_algorithms
so we can add more algorithms later, or if we should introduce separate extensions like user_defined_scans
.
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_intel_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
I think that depends on whether or not we will be able to group all functions which could be extended like this under a single umbrella name and whether or not we want to allow implementations to support only some of them but not all. Let's maybe get more opinions on the matter, tagging @gmlueck, @rolandschulz |
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
@gmlueck, @rolandschulz, could you please comment on this? |
I think we want to have a single extension that covers both reduce and scan. I presume our goal is to get this adopted into SYCL-Next, and I don't think the Khronos WG will adopt user-define functions for reduce without also adopting them for scan. It would seem make the API very inconsistent to do so. |
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_user_defined_reductions.asciidoc
Show resolved
Hide resolved
Spec: intel#7202 Tests: TBA
Spec: intel/llvm#7202 Implementation: intel/llvm#7436
Spec: intel/llvm#7202 Implementation: intel/llvm#7436
Spec: intel/llvm#7202 Implementation: intel/llvm#7587
@gmlueck and @Pennycook - could you please review again? |
No description provided.