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.