-
-
Notifications
You must be signed in to change notification settings - Fork 427
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
Adding fork_join_executor to foreach_benchmark #5697
Conversation
3400340
to
fe02e08
Compare
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.
Nice, thanks @hkaiser!
libs/core/algorithms/include/hpx/parallel/util/detail/chunk_size_iterator.hpp
Outdated
Show resolved
Hide resolved
libs/core/datastructures/include/hpx/datastructures/detail/small_vector.hpp
Show resolved
Hide resolved
libs/core/executors/include/hpx/executors/fork_join_executor.hpp
Outdated
Show resolved
Hide resolved
bd9643d
to
be376c3
Compare
libs/core/algorithms/tests/unit/algorithms/detail/chunk_size_idx_iterator.cpp
Outdated
Show resolved
Hide resolved
e0200d0
to
8dd10dc
Compare
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Explanation of Symbols
|
2b80d1c
to
af3523d
Compare
libs/core/executors/include/hpx/executors/fork_join_executor.hpp
Outdated
Show resolved
Hide resolved
d8b670d
to
a768c4d
Compare
retest cscs |
a768c4d
to
525ec23
Compare
@msimberg this seems to be ready to go now. Also for good measure, the promised performance plot: This graph shows the achieved performance comparing different versions of the taskbench benchmark. The important part for this PR are the yellow and lilac lines (old vs. new fork_join executor). |
525ec23
to
29fc9d4
Compare
libs/core/executors/include/hpx/executors/fork_join_executor.hpp
Outdated
Show resolved
Hide resolved
69c6b15
to
020deb8
Compare
libs/core/iterator_support/tests/include/hpx/iterator_support/tests/iterator_tests.hpp
Outdated
Show resolved
Hide resolved
9ff3441
to
a3f41de
Compare
- minor tweaks to fork_join_executor - more constexpr and noexcept - fixing issue when HPX_WITH_THREAD_PHASE_INFORMATION=On - remove duplicate macro definition - remove bogus assert in latch - fixing problem with small_vector - minor optimization for wait_all and handle_local_exceptions - making chunk iterators random access - always #define HPX_SMT_PAUSE
- remove atomics that are not needed - split static and dynamic scheduling functions
- this disables the silent special handling of certain options if HPX_DEBUG is defined
d0c0462
to
8caedba
Compare
8caedba
to
a574cbd
Compare
bors merge |
Build succeeded: |
fork_join_executor
disable lock verification for RelWithDebInfo buildsconstexpr
andnoexcept
HPX_WITH_THREAD_PHASE_INFORMATION=On
small_vector
wait_all
andhandle_local_exceptions
#define HPX_SMT_PAUSE
This is a collection of minor optimizations and fixes applied during doing some performance analysis of the fork-join executor. Some of the changes are unrelated, I can separate those, if needed.