Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.

Support for data-parallelism for adjacent find #22

Closed
wants to merge 24 commits into from
Closed

Conversation

hkaiser
Copy link
Member

@hkaiser hkaiser commented Dec 26, 2021

Supersedes STEllAR-GROUP/hpx#5651, please see there for remaining issues and comments.

hkaiser and others added 10 commits December 26, 2021 14:58
Removing HPX_NOEXCEPT_WITH_ASSERT
18: Add `for_each` benchmark to performance test CI r=msimberg a=msimberg

- Moves the generic `for_each` benchmarking functionality to a separate header.
- Adds a CI "report" version of the `for_each` benchmark (always tests `parallel_executor`, `fork_join_executor`, `scheduler_executor`, and a plain for loop).
- Adds the `scheduler_executor` to the `foreach_scaling` benchmark.
- Explicitly sets the `hpx.thread_queue.init_threads_count` to a higher value in the perf tests to avoid warmup problems (I may have to come back to the default value of this option).

To do:
- [ ] Update the reference for the new benchmark (it's currently a dummy result from my laptop).

Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
Replace std::distance with parallel::detail::distance
Replace include/datapar.hpp with parallel/datapar.hpp
@StellarBot
Copy link

Performance test report

HPXLocal Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)-

Info

PropertyBeforeAfter
HPXLocal Commit01e4980ace71c6
HPXLocal Datetime2021-12-21T15:01:46+00:002022-01-14T05:06:53+00:00
Clusternamedaintdaint
Hostnamenid00932nid01452
Datetime2021-12-21T16:09:15.238666+01:002022-01-14T06:13:48.074126+01:00
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch+

Info

PropertyBeforeAfter
HPXLocal Commitf499a22ace71c6
HPXLocal Datetime2021-12-10T13:50:04+00:002022-01-14T05:06:53+00:00
Clusternamedaintdaint
Hostnamenid00243nid01452
Datetime2021-12-10T15:19:42.442217+01:002022-01-14T06:14:04.716659+01:00
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
Stream Benchmark - Add(=)(=)(=)
Stream Benchmark - Scale(=)(=)(=)
Stream Benchmark - Triad(=)(=)(=)
Stream Benchmark - Copy(=)(=)(=)

Info

PropertyBeforeAfter
HPXLocal Commitf64fbd0ace71c6
HPXLocal Datetime2021-11-12T11:29:27+00:002022-01-14T05:06:53+00:00
Clusternamedaintdaint
Hostnamenid00007nid01452
Datetime2021-11-12T12:57:50.824026+01:002022-01-14T06:14:19.265872+01:00
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@StellarBot
Copy link

Performance test report

HPXLocal Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)=

Info

PropertyBeforeAfter
HPXLocal Datetime2021-12-21T15:01:46+00:002022-01-14T05:48:10+00:00
HPXLocal Commit01e4980961f3ce
Datetime2021-12-21T16:09:15.238666+01:002022-01-14T06:54:29.496786+01:00
Hostnamenid00932nid01191
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Clusternamedaintdaint

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch+

Info

PropertyBeforeAfter
HPXLocal Datetime2021-12-10T13:50:04+00:002022-01-14T05:48:10+00:00
HPXLocal Commitf499a22961f3ce
Datetime2021-12-10T15:19:42.442217+01:002022-01-14T06:54:46.122073+01:00
Hostnamenid00243nid01191
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Clusternamedaintdaint

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
Stream Benchmark - Add(=)(=)(=)
Stream Benchmark - Scale(=)-(=)
Stream Benchmark - Triad(=)(=)(=)
Stream Benchmark - Copy(=)(=)(=)

Info

PropertyBeforeAfter
HPXLocal Datetime2021-11-12T11:29:27+00:002022-01-14T05:48:10+00:00
HPXLocal Commitf64fbd0961f3ce
Datetime2021-11-12T12:57:50.824026+01:002022-01-14T06:55:00.655816+01:00
Hostnamenid00007nid01191
Envfile
Compiler/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/HPX/packages/llvm-11.0.0/bin/clang++ 11.0.0
Clusternamedaintdaint

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser
Copy link
Member Author

hkaiser commented Jan 20, 2022

This is superseded by STEllAR-GROUP/hpx#5741

@hkaiser hkaiser closed this Jan 20, 2022
@hkaiser hkaiser deleted the hpx_5651 branch January 20, 2022 02:02
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants