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

Rvalue and constant ranges support for the tbb::parallel_sort algorithm #605

Merged

Conversation

ivankochin
Copy link
Contributor

@ivankochin ivankochin commented Oct 6, 2021

Description

At that moment, the tbb::parallel_sort algorithm allows passing only non-constant lvalue reference to a range. But some ranges (like std::span) may provide access to data independent from the container state.

Also, this patch contains a rework of the parallel_sort testing.

Fixes #500

Type of change

  • new feature - change which adds functionality

Tests

  • added - required for new features and for some bug fixes

Documentation

  • updated in this PR

Breaks backward compatibility

  • No

Notify the following users

@kboyarinov

@ivankochin ivankochin self-assigned this Oct 8, 2021
test/tbb/test_parallel_sort.cpp Outdated Show resolved Hide resolved
include/oneapi/tbb/parallel_sort.h Outdated Show resolved Hide resolved
@ivankochin ivankochin force-pushed the dev/ivankochin/using-forwarding-for-parallel-sort-range branch from 9c5b072 to bbd7d81 Compare October 26, 2021 09:43
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Outdated Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Outdated Show resolved Hide resolved
Kochin Ivan added 9 commits October 27, 2021 18:45
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
…with scomparator with side effects

Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
… size parameter

Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
@ivankochin ivankochin force-pushed the dev/ivankochin/using-forwarding-for-parallel-sort-range branch from 0149884 to 94527b7 Compare October 27, 2021 15:45
Co-authored-by: kboyarinov <konstantin.boyarinov@intel.com>
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_rvalue_ranges.rst Outdated Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Show resolved Hide resolved
Ivan Kochin and others added 3 commits October 28, 2021 16:31
Co-authored-by: kboyarinov <konstantin.boyarinov@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
Signed-off-by: Kochin Ivan <kochin.ivan@intel.com>
doc/main/reference/parallel_sort_ranges_extension.rst Outdated Show resolved Hide resolved
doc/main/reference/parallel_sort_ranges_extension.rst Outdated Show resolved Hide resolved
test/tbb/test_parallel_sort.cpp Outdated Show resolved Hide resolved
Co-authored-by: kboyarinov <konstantin.boyarinov@intel.com>
@ivankochin ivankochin merged commit b95bbc9 into master Oct 29, 2021
@ivankochin ivankochin deleted the dev/ivankochin/using-forwarding-for-parallel-sort-range branch October 29, 2021 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants