MADNESS 0.10.1
|
Default process map is "random" using madness::hash(key) More...
#include <worlddc.h>
Public Member Functions | |
WorldDCDefaultPmap (World &world, const hashfunT &hf=hashfunT()) | |
ProcessID | owner (const keyT &key) const |
Maps key to processor. | |
Public Member Functions inherited from madness::WorldDCPmapInterface< keyT > | |
virtual | ~WorldDCPmapInterface () |
void | deregister_callback (ptrT ptr) |
Deregisters object for receipt of redistribute callbacks. | |
std::size_t | global_size (World &world) const |
Counts global number of entries in all containers associated with this process map. | |
std::size_t | local_size () const |
Counts local number of entries in all containers associated with this process map. | |
virtual void | print () const |
void | print_data_sizes (World &world, const std::string msg="") const |
Prints size info to std::cout. | |
void | redistribute (World &world, const std::shared_ptr< WorldDCPmapInterface< keyT > > &newpmap) |
Invoking this switches all registered objects from this process map to the new one. | |
void | register_callback (ptrT ptr) |
Registers object for receipt of redistribute callbacks. | |
Private Attributes | |
hashfunT | hashfun |
const int | nproc |
Additional Inherited Members | |
Public Types inherited from madness::WorldDCPmapInterface< keyT > | |
typedef WorldDCRedistributeInterface< keyT > * | ptrT |
Default process map is "random" using madness::hash(key)
|
inline |
|
inlinevirtual |
Maps key to processor.
[in] | key | Key for container |
Implements madness::WorldDCPmapInterface< keyT >.
References madness::WorldDCDefaultPmap< keyT, hashfunT >::hashfun, and madness::WorldDCDefaultPmap< keyT, hashfunT >::nproc.
|
private |
Referenced by madness::WorldDCDefaultPmap< keyT, hashfunT >::owner().
|
private |
Referenced by madness::WorldDCDefaultPmap< keyT, hashfunT >::owner().