Base class for partitions that encapsulates the logic needed to determine if shifting can be used in place of division to map a GID to a partition id. More...
Protected Member Functions | |
template<typename Domain > | |
void | compute_shiftable (size_t, Domain const &) |
Protected Attributes | |
size_t | m_shift_dist |
The right-shift distance for gid to pid mapping when the number of partitions is a power of two. | |
size_t | m_small_part_size |
The size of a partition, if all partitions are the same size. | |
size_t | m_num_large_parts |
The number of partitions that are one element larger in cases where the domain size isn't evenly divisible by the number of partittions. | |
bool | m_shift |
Indicate whether shifting optimization is used. | |
Base class for partitions that encapsulates the logic needed to determine if shifting can be used in place of division to map a GID to a partition id.
Currently only one-dimensional partitions are supported.