-
Notifications
You must be signed in to change notification settings - Fork 113
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
Move sycl::event
and __result_and_scratch_storage
into __future
#1774
base: main
Are you sure you want to change the base?
Move sycl::event
and __result_and_scratch_storage
into __future
#1774
Conversation
For this to stop the copy from happening, changes are required for Here is a godbolt that shows that even with this move, it still ends up with a copy when creating the tuple, unless we forward it in. The downside to such a change is it requires explicit specification of the |
fa370a3
to
3b61d5e
Compare
That's right. I've also included @reble in the discussion since he designed the original |
I like this variant! |
3b61d5e
to
d6ce9ec
Compare
@danhoeflinger, @reble I wrote new issue about our |
@danhoeflinger , please take a look to this PR again. |
d6ce9ec
to
cc8c438
Compare
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h
Outdated
Show resolved
Hide resolved
9d6e93f
to
888d61e
Compare
__result_and_scratch_storage
into __future
sycl::event
and __result_and_scratch_storage
into __future
We made decision together with @akukanov and @danhoeflinger to postpone this PR. |
1604a07
to
ab9ec83
Compare
@reble please take a look to this draft PR and take anything if it's useful for you. |
285c9c1
to
aa4c3df
Compare
b6434e6
to
4f889d4
Compare
da7ab7f
to
038dae9
Compare
Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
…or and copy-assignment should be disabled. Signed-off-by: Sergey Kopienko <[email protected]>
…refactoring of class __future Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
…fix review comment
…fix compile error Signed-off-by: Sergey Kopienko <[email protected]>
…om __future specializations Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
Signed-off-by: Sergey Kopienko <[email protected]>
038dae9
to
1ea7940
Compare
In this PR we move the instances of
sycl::event
and__result_and_scratch_storage
into__future
constructor to avoid extra operations with counters insidestd::shared_ptr
objects which are the members of__result_and_scratch_storage
(and probably insycl::event
implementation too).Also we avoid
copy
operation for_ExecutionPolicy
instance inside__result_and_scratch_storage
too.Please take a look to https://stackoverflow.com/questions/41871115/why-would-i-stdmove-an-stdshared-ptr for details.
Additionally, in this PR we fix issue #1776 : we remove ability to create
__future
instance by copy and copy-assignment: