Items (cells, nodes) spread over the ranks, each with a global id in [0, n_global), regrouped so that rank r holds the ids [block_begin(n_global, r, p), block_begin(n_global, r + 1, p)) in order. An id may come from several ranks (shared nodes); it then takes any one of their values, so they should agree. Ids no rank sends are left zero. Without distributed, this rank holds every id and the regrouping is a local permutation (not collective).
More...
#include <global_order.h>
Items (cells, nodes) spread over the ranks, each with a global id in [0, n_global), regrouped so that rank r holds the ids [block_begin(n_global, r, p), block_begin(n_global, r + 1, p)) in order. An id may come from several ranks (shared nodes); it then takes any one of their values, so they should agree. Ids no rank sends are left zero. Without distributed, this rank holds every id and the regrouping is a local permutation (not collective).
◆ GlobalOrder() [1/2]
| GlobalOrder::GlobalOrder |
( |
| ) |
|
|
default |
◆ GlobalOrder() [2/2]
Plan for the items with these global ids (collective if distributed).
◆ first()
◆ gather()
This rank's block, width values per id, from the values (width per item) of the plan's items (collective if distributed).
◆ gather_csr()
Like gather, for items of different lengths (CSR offsets into values); returns the block's offsets (from 0) and values.
◆ n_global()
| uint64_t GlobalOrder::n_global |
( |
| ) |
const |
|
inline |
◆ size()
The documentation for this class was generated from the following files: