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

Handle reference error types in ensure_started and let_error #338

Merged
merged 4 commits into from
Aug 4, 2022

Conversation

aurianer
Copy link
Contributor

Fixes partially #284

@aurianer aurianer added this to the 0.7.0 milestone Jul 28, 2022
@aurianer
Copy link
Contributor Author

bors try

bors bot added a commit that referenced this pull request Jul 28, 2022
@bors
Copy link
Contributor

bors bot commented Jul 28, 2022

try

Build failed:

@pika-bot
Copy link
Collaborator

Performance test report

pika Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)+

Info

PropertyBeforeAfter
pika Datetime2021-12-21T15:01:46+00:002022-07-28T16:01:53+00:00
pika Commit01e4980e2184ca113b853ae3a36869f713fcc4b91c972c1
Envfile
Hostnamenid00932nid01598
Datetime2021-12-21T16:09:15.238666+01:002022-07-28T18:13:18.991806+02:00
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Clusternamedaintdaint

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-12-10T13:50:04+00:002022-07-28T16:01:53+00:00
pika Commitf499a2233385060b8a2612ab88163e62b08818881c972c1
Envfile
Hostnamenid00243nid01598
Datetime2021-12-10T15:19:42.442217+01:002022-07-28T18:13:33.570575+02:00
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Clusternamedaintdaint

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-11-12T11:29:27+00:002022-07-28T16:01:53+00:00
pika Commitf64fbd02165a132a6276cedd14c586910abb79e41c972c1
Envfile
Hostnamenid00007nid01598
Datetime2021-11-12T12:57:50.824026+01:002022-07-28T18:13:48.287236+02:00
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
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 (>10%)
++/--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…

@aurianer aurianer force-pushed the const_reference_handling branch from 8d087d6 to 005d427 Compare July 29, 2022 16:37
@aurianer
Copy link
Contributor Author

bors try

bors bot added a commit that referenced this pull request Jul 29, 2022
@pika-bot
Copy link
Collaborator

Performance test report

pika Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)+

Info

PropertyBeforeAfter
pika Commit01e4980e2184ca113b853ae3a36869f713fcc4b9a8e4ed8
pika Datetime2021-12-21T15:01:46+00:002022-07-29T16:37:44+00:00
Envfile
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Hostnamenid00932nid00005
Datetime2021-12-21T16:09:15.238666+01:002022-07-29T18:44:35.930448+02:00

Comparison

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

Info

PropertyBeforeAfter
pika Commitf499a2233385060b8a2612ab88163e62b0881888a8e4ed8
pika Datetime2021-12-10T13:50:04+00:002022-07-29T16:37:44+00:00
Envfile
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Hostnamenid00243nid00005
Datetime2021-12-10T15:19:42.442217+01:002022-07-29T18:44:50.504521+02:00

Comparison

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

Info

PropertyBeforeAfter
pika Commitf64fbd02165a132a6276cedd14c586910abb79e4a8e4ed8
pika Datetime2021-11-12T11:29:27+00:002022-07-29T16:37:44+00:00
Envfile
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Hostnamenid00007nid00005
Datetime2021-11-12T12:57:50.824026+01:002022-07-29T18:45:05.164007+02:00

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 (>10%)
++/--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…

@bors
Copy link
Contributor

bors bot commented Jul 29, 2022

try

Build failed:

Copy link
Contributor

@msimberg msimberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but I still have to have a closer look at let_value/error again.

Could you update the PR title to mention the updated algorithms?

@aurianer aurianer modified the milestones: 0.7.0, 0.8.0 Aug 2, 2022
@aurianer aurianer force-pushed the const_reference_handling branch from 005d427 to 5348649 Compare August 3, 2022 14:38
@pika-bot
Copy link
Collaborator

pika-bot commented Aug 3, 2022

Performance test report

pika Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)+

Info

PropertyBeforeAfter
pika Datetime2021-12-21T15:01:46+00:002022-08-03T14:38:33+00:00
pika Commit01e4980e2184ca113b853ae3a36869f713fcc4b9f985242
Hostnamenid00932nid00025
Envfile
Datetime2021-12-21T16:09:15.238666+01:002022-08-03T16:44:34.162291+02:00
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-12-10T13:50:04+00:002022-08-03T14:38:33+00:00
pika Commitf499a2233385060b8a2612ab88163e62b0881888f985242
Hostnamenid00243nid00025
Envfile
Datetime2021-12-10T15:19:42.442217+01:002022-08-03T16:44:48.734884+02:00
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-11-12T11:29:27+00:002022-08-03T14:38:33+00:00
pika Commitf64fbd02165a132a6276cedd14c586910abb79e4f985242
Hostnamenid00007nid00025
Envfile
Datetime2021-11-12T12:57:50.824026+01:002022-08-03T16:45:03.546849+02:00
Clusternamedaintdaint
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1

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 (>10%)
++/--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…

@aurianer aurianer force-pushed the const_reference_handling branch from 5348649 to 37d208e Compare August 3, 2022 15:09
@aurianer
Copy link
Contributor Author

aurianer commented Aug 3, 2022

bors try

bors bot added a commit that referenced this pull request Aug 3, 2022
@pika-bot
Copy link
Collaborator

pika-bot commented Aug 3, 2022

Performance test report

pika Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)+

Info

PropertyBeforeAfter
pika Datetime2021-12-21T15:01:46+00:002022-08-03T15:09:49+00:00
pika Commit01e4980e2184ca113b853ae3a36869f713fcc4b99ab6177
Hostnamenid00932nid00829
Clusternamedaintdaint
Envfile
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-12-21T16:09:15.238666+01:002022-08-03T17:28:37.175613+02:00

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-12-10T13:50:04+00:002022-08-03T15:09:49+00:00
pika Commitf499a2233385060b8a2612ab88163e62b08818889ab6177
Hostnamenid00243nid00829
Clusternamedaintdaint
Envfile
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-12-10T15:19:42.442217+01:002022-08-03T17:28:51.761284+02:00

Comparison

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

Info

PropertyBeforeAfter
pika Datetime2021-11-12T11:29:27+00:002022-08-03T15:09:49+00:00
pika Commitf64fbd02165a132a6276cedd14c586910abb79e49ab6177
Hostnamenid00007nid00829
Clusternamedaintdaint
Envfile
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-11-12T12:57:50.824026+01:002022-08-03T17:29:06.622577+02:00

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 (>10%)
++/--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…

Copy link
Contributor

@msimberg msimberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except for the one unnecessary comment this looks good.

libs/pika/execution/tests/unit/algorithm_then.cpp Outdated Show resolved Hide resolved
@msimberg msimberg changed the title Const reference handling Handle reference error types in ensure_started and let_error Aug 4, 2022
This test fails with the commit of the P2300 reference implementation
used in pika (9159e4925a9895a6959e01e8e0ed22db4199be1a). This same test
passes with origin/main i.e. (fb798bb51f66b6df5806a17cc5da1eeef25b25d6).
@aurianer aurianer force-pushed the const_reference_handling branch from 37d208e to 790cf6a Compare August 4, 2022 10:33
@aurianer
Copy link
Contributor Author

aurianer commented Aug 4, 2022

bors merge

@bors
Copy link
Contributor

bors bot commented Aug 4, 2022

👎 Rejected by code reviews

@pika-bot
Copy link
Collaborator

pika-bot commented Aug 4, 2022

Performance test report

pika Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)+

Info

PropertyBeforeAfter
pika Commit01e4980e2184ca113b853ae3a36869f713fcc4b92498a60
pika Datetime2021-12-21T15:01:46+00:002022-08-04T10:33:31+00:00
Hostnamenid00932nid00025
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-12-21T16:09:15.238666+01:002022-08-04T12:39:21.175743+02:00
Clusternamedaintdaint
Envfile

Comparison

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

Info

PropertyBeforeAfter
pika Commitf499a2233385060b8a2612ab88163e62b08818882498a60
pika Datetime2021-12-10T13:50:04+00:002022-08-04T10:33:31+00:00
Hostnamenid00243nid00025
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-12-10T15:19:42.442217+01:002022-08-04T12:39:35.607749+02:00
Clusternamedaintdaint
Envfile

Comparison

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

Info

PropertyBeforeAfter
pika Commitf64fbd02165a132a6276cedd14c586910abb79e42498a60
pika Datetime2021-11-12T11:29:27+00:002022-08-04T10:33:31+00:00
Hostnamenid00007nid00025
Compiler/apps/daint/SSL/pika/packages/llvm-11.0.0/bin/clang++ 11.0.0/apps/daint/SSL/pika/spack/lib/spack/env/clang/clang++ 11.0.1
Datetime2021-11-12T12:57:50.824026+01:002022-08-04T12:39:50.340524+02:00
Clusternamedaintdaint
Envfile

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 (>10%)
++/--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…

@msimberg
Copy link
Contributor

msimberg commented Aug 4, 2022

bors merge

bors bot added a commit that referenced this pull request Aug 4, 2022
338: Handle reference error types in `ensure_started` and `let_error` r=msimberg a=aurianer

Fixes partially #284

Co-authored-by: Auriane R <aurianer@cscs.ch>
@bors
Copy link
Contributor

bors bot commented Aug 4, 2022

@msimberg
Copy link
Contributor

msimberg commented Aug 4, 2022

bors merge

@bors bors bot merged commit 876eb35 into pika-org:main Aug 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants