You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide selected algorithms and views working on distributed structure.
Concepts
A distributed_range is a forward_range with a segments that returns a range of remote_ranges.
A remote_range is a forward_range with a rank stating which memory locale it is in.
Feature details
The distributed ranges concepts allow algorithms to be implemented in a hierarchical fashion, by decomposing the
distributed range into its segments and applying local versions of algorithms to each segment in parallel. Crucially,
distributed algorithms will be written generically, using only the distributed range concept, and then applied to any data
structure that satisfies the distributed range concept.
The following algorithms are provided by this feature using distributed_vector and MPI backend:
for_each
for_each_tile
copy
fill
reduce
sort
inclusive_scan
exclusive_scan
transform
Views are lightweight objects that usually provide a nonowning, lazily-evaluated view of another range. Views provide the
same range interface as data structures, allowing them to be iterated over and used in algorithms just like normal data structures. In distributed ranges, we provide a set of views that operate on normal ranges, but also on remote and distributed ranges by offering the rank and segments CPOs if they are provided by the underlying base range to which the view is applied.
The following views are provided by this feature using distributed_vector and MPI backend:
zip
iota
take
drop
counted
enumerate
transform
Example
The text was updated successfully, but these errors were encountered:
Summary
Provide selected algorithms and views working on distributed structure.
Concepts
Feature details
The distributed ranges concepts allow algorithms to be implemented in a hierarchical fashion, by decomposing the
distributed range into its segments and applying local versions of algorithms to each segment in parallel. Crucially,
distributed algorithms will be written generically, using only the distributed range concept, and then applied to any data
structure that satisfies the distributed range concept.
The following algorithms are provided by this feature using distributed_vector and MPI backend:
Views are lightweight objects that usually provide a nonowning, lazily-evaluated view of another range. Views provide the
same range interface as data structures, allowing them to be iterated over and used in algorithms just like normal data structures. In distributed ranges, we provide a set of views that operate on normal ranges, but also on remote and distributed ranges by offering the rank and segments CPOs if they are provided by the underlying base range to which the view is applied.
The following views are provided by this feature using distributed_vector and MPI backend:
Example
The text was updated successfully, but these errors were encountered: