-
Notifications
You must be signed in to change notification settings - Fork 116
Removal ExecutionPolicy
from submitters and etc. stuff
#2161
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
Removal ExecutionPolicy
from submitters and etc. stuff
#2161
Conversation
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__device_info
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__max_work_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__slm_adjusted_work_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__max_sub_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__max_compute_units
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__supports_sub_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__kernel_work_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__kernel_sub_group_size
…remove _ExecutionPolicy template param from oneapi::dpl::__internal::__kernel_compiler::__compile
…remove _ExecutionPolicy template param from oneapi::dpl::__par_backend_hetero::__result_and_scratch_storage
…remove _ExecutionPolicy template param from oneapi::dpl::__par_backend_hetero::__internal::__print_device_debug_info
…__max_work_group_size
…__slm_adjusted_work_group_size
…__max_sub_group_size
…__max_compute_units
…__supports_sub_group_size
…__kernel_work_group_size
…__kernel_sub_group_size
…__kernel_compiler::__compile
…d_hetero::__internal::__print_device_debug_info
…d_hetero::__result_and_scratch_storage
…remove template alias __result_and_scratch_storage and rename __result_and_scratch_storage_impl to __result_and_scratch_storage
…nd_impl_fn_fo to __lower_bound_impl_fn
I looked through the PR and think it's near ready to merge. There are a few clang-format suggestions from the |
I propose to stop this changes here. I don't think that it is real reason to not land this PR into main branch. |
…_submitters # Conflicts: # include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce.h
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.
LGTM
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 applying most of the suggestions. I agree where it doesn't make sense to change things that I suggested.
LGTM.
Sorry guys, but this PR violates our agreements about oneDPL architecture. We cannot get execution policy on the patterns level (aglorithm_impl_hetero.h) because this is not a backend specific code. Yes, it's hetero specific but not the backend one. During our technical meetings Alexey and I explained that @adamfidel, @mmichel11, I suggest you to be more careful in the future and ask if you are not sure what decisions were made. @danhoeflinger, @MikeDvorskiy, I expect you to take a lead and scrutinize the PRs with architectural changes (like this one) if neither Alexey, not myself are in reviewers list. It needs to be fixed before oneDPL release. It's either rolling back this change and making another one after rollback. Or it's just fix on top of that. I don't know what is the safest way because I didn't participate in the review, so I'll let you guys to decide. |
I propose to rollback this PR right now. |
PR with new implementation prepared: #2198 |
Attention!
Now this PR still include all changes from
lambda
inoneDPL
code by functional objects #2153UPD: #2153 has been merged into main branch and this PR now contains actual state of main branch.
Before future work with this PR required to merge into main branch the next PRs (otherwise we will have a lot of differences in this PR):
ExecutionPolicy
template parameter from sycl utilities #2152lambda
inoneDPL
code by functional objects #2153ExecutionPolicy
template parameter frombrick
s #2148The goal of this PR - pass into submitters
sycl::queue& __q
instead of_ExecutionPolicy&& __exec
- so we remove one template parameter and decrease possible instantiations of template submitter classes / functions.This is the main and final step to use
ExecutionPolicy
inoneDPL
algorithm calls independently from their category values (when unnamed lambda is switched off orKernel
name is specified in the users code directly).Note about
parallel_for
- andparallel_for
-based submittersNow we still need to have
ExecutionPolicy
inparallel_for
- and inparallel_for
-based submitters.I going to fix that in the separate PR #2192
Note about clang-format check for this PR
Example (1) of incorrect clang-format:
Example (2) of incorrect clang-format:
Example (3) of incorrect clang-format: