Computes a balanced mapping of ids to partitions. More...
Public Member Functions | |
| balance_map (GID num_gids, Index num_blocks) | |
| Index | operator() (GID id) const |
| void | update (update_vec_t const &updates, size_t level) |
| Method required of all mapping functions. The method is called by the update_distribution method of containers. More... | |
Public Types | |
| typedef GID | gid_type |
| Type of the id being mapped into partitions. Required by Core. | |
| typedef Index | index_type |
| Type of the partition id. Required by Core. | |
Protected Attributes | |
| GID | m_num_gids |
| Index | m_num_blocks |
| Index | m_num_large_blocks |
| Index | m_large_block_size |
Computes a balanced mapping of ids to partitions.
The struct is used to implement view-based specifications of block-cyclic distributions. The implementation assumes the GID / Index operation is defined. This struct differs from block in that it allows for two sizes of blocks, while block will produce uniform partitions with the exception of the last.
| void stapl::balance_map< Dimensions, GID, Index, ContainerGID, CID >::update | ( | update_vec_t const & | updates, |
| size_t | level | ||
| ) |
Method required of all mapping functions. The method is called by the update_distribution method of containers.
1.8.13