Zoltan2_Directory is an abstract base class.
More...
#include <Zoltan2_Directory.hpp>
|
| Zoltan2_Directory (Teuchos::RCP< const Teuchos::Comm< int > > comm_, bool use_lid_, int debug_level_) |
| Construct Zoltan2_Directory (abstract class). More...
|
|
virtual | ~Zoltan2_Directory () |
| Destructor currently does nothing. More...
|
|
int | update (size_t length, const gid_t *gid, const lid_t *lid, const user_t *user, const int *partition, Update_Mode update_mode) |
| update is called by user to submit new data. More...
|
|
int | find (size_t length, const gid_t *gid, lid_t *lid, user_t *user, int *partition, int *owner, bool throw_if_missing=true) |
| Can be Replace, Add, or Aggregate. More...
|
|
int | remove (size_t length, const gid_t *gid) |
| if true will throw if a gid is not found. This is used by the unit tests to properly assess if remove has worked. More...
|
|
int | print () const |
| gids to remove. More...
|
|
void | stats () const |
| stats. New Kokkos mode needs further development. More...
|
|
bool | is_use_lid () const |
| returns true if the directory is handling local ids. More...
|
|
void | get_locally_managed_gids (std::vector< gid_t > &local_gids) const |
|
void | remap_user_data_as_unique_gids () |
|
size_t | node_map_size () const |
|
|
int | update_local (gid_t *gid, lid_t *lid, user_t *user, int partition, int owner) |
|
int | find_local (gid_t *gid, lid_t *lid, user_t *user, int *partition, int *owner, bool throw_if_missing=true) const |
|
int | remove_local (gid_t *gid) |
|
void | allocate () |
|
int | copy (const Zoltan2_Directory< gid_t, lid_t, user_t > &dd) |
|
unsigned int | hash_proc (const gid_t &gid) const |
|
virtual bool | is_Zoltan2_Directory_Vector () const =0 |
|
virtual void | update_local_user (const user_t *pRaw, user_t &dst)=0 |
|
virtual void | user_to_raw (const user_t &src, user_t *pRaw) const =0 |
|
virtual void | raw_to_user (const user_t *pRaw, user_t &dst) const =0 |
|
virtual size_t | size_of_value_type () const =0 |
|
virtual size_t | get_update_msg_size (const user_t &data) const =0 |
|
virtual size_t | get_update_msg_size (const user_t *pRaw) const =0 |
|
virtual size_t | get_local_find_msg_size (gid_t *gid, bool throw_if_missing=true) const =0 |
|
virtual size_t | get_incoming_find_msg_size (Zoltan2_DD_Find_Msg< gid_t, lid_t > *msg) const =0 |
|
template<typename gid_t, typename lid_t, typename user_t>
class Zoltan2::Zoltan2_Directory< gid_t, lid_t, user_t >
Zoltan2_Directory is an abstract base class.
The user will implement Zoltan2_Directory_Simple or Zoltan2_Directory_Vector in the current form and this class provides all the shared methods.
Definition at line 124 of file Zoltan2_Directory.hpp.
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
Update_Mode determines how update executes.
Enumerator |
---|
Replace |
The new value replaces the original value.
|
Add |
All values from different procs are summed.
|
Aggregate |
For std::vector user data, aggregates all data so for example [1,2,5] and [3,5] becomes [1,2,3,5].
|
AggregateAdd |
In progress and needs discussion. Currently this mode will use operator== to determine if two items match and then user operator += to aggregate them together, which allows a custom struct user data type to define how aggregation works. Did this for graph metrics work. Note that this mode currently won't worry about sorting the order but that could be handled through operator>.
|
Definition at line 127 of file Zoltan2_Directory.hpp.
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t , typename lid_t , typename user_t >
update is called by user to submit new data.
- Parameters
-
lid | gids being updated. |
user | lids if used. |
partition | user data if used. |
update_mode | partition data if used. |
Definition at line 163 of file Zoltan2_Directory_Impl.hpp.
template<typename gid_t , typename lid_t , typename user_t >
Can be Replace, Add, or Aggregate.
find is called by user to get data back from directory.
- Parameters
-
lid | gids to find. |
user | lids to find if being used. |
partition | user data to find if being used. |
owner | partition data to find if used. |
throw_if_missing | owner data to find if used. |
Definition at line 568 of file Zoltan2_Directory_Impl.hpp.
template<typename gid_t , typename lid_t , typename user_t >
if true will throw if a gid is not found. This is used by the unit tests to properly assess if remove has worked.
remove eliminates these gids from the directory .
Definition at line 950 of file Zoltan2_Directory_Impl.hpp.
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t , typename lid_t , typename user_t >
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
template<typename gid_t, typename lid_t, typename user_t>
The documentation for this class was generated from the following files: