STEllAR-GROUP / hpx

The C++ Standard Library for Parallelism and Concurrency
https://hpx.stellar-group.org
Boost Software License 1.0
2.53k stars 434 forks source link

Extend parallel algorithms to work with hpx::partitioned_vector et.al. #1338

Open hkaiser opened 9 years ago

hkaiser commented 9 years ago

The existing parallel algorithms should be extended to seamlessly work with distributed data structures like hpx::partitioned_vector. Unfortunately this requires additional code for each specific algorithms.

For more information about the parallel algorithms already implemented see #1141.

Here is the list of algorithms mandated by N4310 which should be ported to the distributed case:

These were added by N4310:

taeguk commented 7 years ago

@hkaiser exclusive_scan and inclusive_scan is not checked although these are already implemented.

hkaiser commented 7 years ago

@taeguk right, thanks for the heads-up. Should be fine now.

taeguk commented 7 years ago

@hkaiser It seems that there are only two distributed data structures. (hpx::partitioned_vector and hpx::unordered_map). Is it right?

hkaiser commented 7 years ago

@hkaiser It seems that there are only two distributed data structures. ( hpx::partitioned_vector and hpx::unordered_map ). Is it right?

Yes. hpx::unordered_map has no iterators implemented yet, however.

mcopik commented 7 years ago

@hkaiser According to the issue progress tracker, transform_*_scan have been added with PR #2287 but it looks that only regular scans have been added there. I don't see transform scans in hpx/parallel/segmented_algorithms.

hkaiser commented 7 years ago

@mcopik Thanks, I fixed the list above.

brjsp commented 6 years ago

Actually, copy_n already seems to work: https://github.com/brjsp/hpx/commit/694c72515f06dcc303468511d53ec0ae6825f5d0

tapaswenipathak commented 5 years ago

Hi @hkaiser: Is the task list is most recent? Can I PR or is the ticket for internal folks?

hkaiser commented 5 years ago

@tapaswenipathak I think the list above reflects the current state. Please feel free to work on this! Also, please don't hesitate to ask, though - this might be slightly more complex than the average 'run of the mill' ticket. The iterative, non-modifying algorithms (equal, mismatch) might be a good starting point.

tapaswenipathak commented 5 years ago

oh lol, ok. sure. thanks for specifying. 😄