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

Simd all any none #5638

Merged
merged 12 commits into from
Nov 12, 2021
Merged

Conversation

srinivasyadav18
Copy link
Contributor

@srinivasyadav18 srinivasyadav18 commented Nov 10, 2021

Contributes to solving #2333

Proposed Changes

  • Converts util::loop_idx_n CPO
  • Adapt new vector_pack traits
  • Adapts all any none to datapar
  • Adds unit tests for all any none to datapar

srinivasyadav18 added 8 commits November 10, 2021 11:39
Adapt all_of, any_of, none_of and find_first vector_pack traits
Adapts cancelation token overload for datpar_loop and datapar_loop_ind.
Adapts loop_idx_n for datapar.
Simplify datapar iterator helpers.
Adds datapar_loop_step_tok for tokenized loops for datapar.
Adds transform binary loop for datapar.
@msimberg msimberg added the split: local PR targets local functionality label Nov 10, 2021
@msimberg
Copy link
Contributor

https://app.circleci.com/pipelines/github/STEllAR-GROUP/hpx/9422/workflows/aed68471-ba9e-4bd5-8ea6-526c57c0930d 🎉

@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

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

Info

PropertyBeforeAfter
HPX Datetime2021-08-21T11:38:52+00:002021-11-10T12:57:16+00:00
HPX Commit254db5728df875
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
Datetime2021-08-23T15:21:22.855927+02:002021-11-10T14:12:37.843044+01:00
Envfile
Clusternamedaintdaint
Hostnamenid00446nid00184

Comparison

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

Info

PropertyBeforeAfter
HPX Datetime2021-10-22T15:54:13+00:002021-11-10T12:57:16+00:00
HPX Commit916f4d828df875
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
Datetime2021-10-25T11:52:24.316784+02:002021-11-10T14:12:53.358015+01:00
Envfile
Clusternamedaintdaint
Hostnamenid01196nid00184

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

HPX Performance

Comparison

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

Info

PropertyBeforeAfter
HPX Commit254db573cba68e
HPX Datetime2021-08-21T11:38:52+00:002021-11-10T14:42:46+00:00
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
Hostnamenid00446nid00358
Datetime2021-08-23T15:21:22.855927+02:002021-11-10T15:58:02.148628+01:00
Envfile
Clusternamedaintdaint

Comparison

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

Info

PropertyBeforeAfter
HPX Commit916f4d83cba68e
HPX Datetime2021-10-22T15:54:13+00:002021-11-10T14:42:46+00:00
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
Hostnamenid01196nid00358
Datetime2021-10-25T11:52:24.316784+02:002021-11-10T15:58:17.464444+01:00
Envfile
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…

@StellarBot
Copy link

Performance test report

HPX Performance

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch(=)

Info

PropertyBeforeAfter
HPX Datetime2021-08-21T11:38:52+00:002021-11-11T08:14:57+00:00
HPX Commit254db5796a2e4b
Hostnamenid00446nid00006
Datetime2021-08-23T15:21:22.855927+02:002021-11-11T09:28:13.071121+01:00
Envfile
Clusternamedaintdaint
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_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add-(=)(=)
Stream Benchmark - Scale(=)(=)(=)
Stream Benchmark - Triad(=)(=)(=)
Stream Benchmark - Copy(=)(=)(=)

Info

PropertyBeforeAfter
HPX Datetime2021-10-22T15:54:13+00:002021-11-11T08:14:57+00:00
HPX Commit916f4d896a2e4b
Hostnamenid01196nid00006
Datetime2021-10-25T11:52:24.316784+02:002021-11-11T09:28:29.190368+01:00
Envfile
Clusternamedaintdaint
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…

@srinivasyadav18
Copy link
Contributor Author

@msimberg Hey, I think all the errors are solved, so I hope this is PR is ready. :)
The two CIRCLE CI tests failing here i.e generate_datapar and generate_n_datapar are solved by you in #5639 (thank you so much for that! 👍 ).

If any further changes are required, please comment!

@hkaiser hkaiser added this to the 1.8.0 milestone Nov 11, 2021
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 to me!

@hkaiser I'd appreciate if you could also have a closer look at this.

@hkaiser
Copy link
Member

hkaiser commented Nov 12, 2021

Looks good to me!

@hkaiser I'd appreciate if you could also have a closer look at this.

I actually already did, just forgot to press 'Submit' on the review :/ - LGTM.

@msimberg
Copy link
Contributor

bors merge

@bors
Copy link

bors bot commented Nov 12, 2021

Build succeeded:

@bors bors bot merged commit f08f82a into STEllAR-GROUP:master Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
split: local PR targets local functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants