-
Notifications
You must be signed in to change notification settings - Fork 116
Incorrect Kernel name generation for __parallel_reduce_then_scan_reduce_submitter
and for __parallel_reduce_then_scan_scan_submitter
#2140
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
Conversation
…n_scan.h - remove internal _ReduceKernel type
…n_scan.h - remove internal _ScanKernel type
…n_scan.h - fix kernel names for __parallel_reduce_then_scan_reduce_submitter
…n_scan.h - fix kernel names for __parallel_reduce_then_scan_scan_submitter
…n_scan.h - define kernel name through __kernel_name_generator in __parallel_reduce_then_scan_reduce_submitter::operator()
…n_scan.h - define kernel name through __kernel_name_generator in __parallel_reduce_then_scan_scan_submitter::operator()
@mmichel11, should we also include this fix into already released version of |
Probably this issue has been introduced in the PR #2046 |
…n_scan.h - remove the definition of _CustomName in the __parallel_transform_reduce_then_scan as not required anymore
Why do we need kernel name generator for this case (rather than kernel name provider)? If someone passes in a policy with the same external kernel name in to two different oneDPL API invocations then its their error not ours, right? |
@danhoeflinger Please just find in the code how |
OK, so why is that a problem? Lets go through the options:
Are there any other options, or any options which you disagree with the expected outcome? |
To clarify an often missed but important thing: I think its used in the old scan, radix sort, reduce and by-segment algs. |
It's not a bug: it's by design. |
In this PR we fixing the issue #2139
Previously we had next Kernel names generation for these structures:
It's not enough to describe all possible instantiations of
struct __parallel_reduce_then_scan_reduce_submitter
,struct __parallel_reduce_then_scan_scan_submitter
and theiroperator()
instantiations.