![]() |
Realm
A distributed, event-based tasking library
|
#include <sparsity_impl.h>
Classes | |
| struct | RemoteSparsityContrib |
| struct | RemoteSparsityRequest |
| struct | SetContribCountMessage |
Public Member Functions | |
| SparsityMapImpl (SparsityMap< N, T > _me, NodeSet &subscribers) | |
| SparsityMapImpl (SparsityMap< N, T > _me, NodeSet &subscribers, SparsityMapCommunicator< N, T > *_sparsity_comm) | |
| Event | make_valid (bool precise=true) |
| void | set_contributor_count (int count) |
| void | record_remote_contributor (NodeID contributor) |
| void | contribute_nothing (void) |
| void | contribute_dense_rect_list (const std::vector< Rect< N, T > > &rects, bool disjoint) |
| void | contribute_raw_rects (const Rect< N, T > *rects, size_t count, size_t piece_count, bool disjoint, size_t total_count) |
| bool | add_waiter (PartitioningMicroOp *uop, bool precise) |
| void | remote_data_request (NodeID requestor, bool send_precise, bool send_approx) |
| void | remote_data_reply (NodeID requestor, bool send_precise, bool send_approx) |
Public Member Functions inherited from Realm::SparsityMapPublicImpl< N, T > | |
| REALM_PUBLIC_API Event | make_valid (bool precise=true) |
| REALM_PUBLIC_API bool | is_valid (bool precise=true) |
| REALM_PUBLIC_API const std::vector< SparsityMapEntry< N, T > > & | get_entries (void) |
| REALM_PUBLIC_API const std::vector< Rect< N, T > > & | get_approx_rects (void) |
| REALM_PUBLIC_API bool | overlaps (SparsityMapPublicImpl< N, T > *other, const Rect< N, T > &bounds, bool approx) |
| REALM_PUBLIC_API bool | compute_covering (const Rect< N, T > &bounds, size_t max_rects, int max_overhead, std::vector< Rect< N, T > > &covering) |
Static Public Member Functions | |
| static SparsityMapImpl< N, T > * | lookup (SparsityMap< N, T > sparsity) |
Public Attributes | |
| SparsityMap< N, T > | me |
Protected Member Functions | |
| void | finalize (void) |
Protected Member Functions inherited from Realm::SparsityMapPublicImpl< N, T > | |
| SparsityMapPublicImpl (void) | |
Protected Attributes | |
| atomic< int > | remaining_contributor_count {0} |
| atomic< int > | total_piece_count {0} |
| atomic< int > | remaining_piece_count {0} |
| Mutex | mutex |
| std::vector< PartitioningMicroOp * > | approx_waiters |
| std::vector< PartitioningMicroOp * > | precise_waiters |
| bool | precise_requested {0} |
| bool | approx_requested {0} |
| Event | precise_ready_event = Event::NO_EVENT |
| Event | approx_ready_event = Event::NO_EVENT |
| NodeSet | remote_precise_waiters |
| NodeSet | remote_approx_waiters |
| NodeSet & | remote_subscribers |
| size_t | sizeof_precise {0} |
| std::unique_ptr< SparsityMapCommunicator< N, T > > | sparsity_comm |
Protected Attributes inherited from Realm::SparsityMapPublicImpl< N, T > | |
| atomic< bool > | entries_valid {false} |
| atomic< bool > | approx_valid {false} |
| std::vector< SparsityMapEntry< N, T > > | entries |
| std::vector< Rect< N, T > > | approx_rects |
Static Protected Attributes | |
| static ActiveMessageHandlerReg< RemoteSparsityRequest > | remote_sparsity_request_reg |
| static ActiveMessageHandlerReg< RemoteSparsityContrib > | remote_sparsity_contrib_reg |
| static ActiveMessageHandlerReg< SetContribCountMessage > | set_contrib_count_msg_reg |
SparsityMapImpl is the actual dynamically allocated object that exists on each "interested" node for a given SparsityMap - it inherits from SparsityMapPublicImpl and adds the "private" storage and functionality - this separation is primarily to avoid the installed version of of Realm having to include all the internal .h files. TODO(apryakhin@): Consider doing an doxygen style.
| Realm::SparsityMapImpl< N, T >::SparsityMapImpl | ( | SparsityMap< N, T > | _me, |
| NodeSet & | subscribers | ||
| ) |
| Realm::SparsityMapImpl< N, T >::SparsityMapImpl | ( | SparsityMap< N, T > | _me, |
| NodeSet & | subscribers, | ||
| SparsityMapCommunicator< N, T > * | _sparsity_comm | ||
| ) |
| bool Realm::SparsityMapImpl< N, T >::add_waiter | ( | PartitioningMicroOp * | uop, |
| bool | precise | ||
| ) |
| void Realm::SparsityMapImpl< N, T >::contribute_dense_rect_list | ( | const std::vector< Rect< N, T > > & | rects, |
| bool | disjoint | ||
| ) |
| void Realm::SparsityMapImpl< N, T >::contribute_nothing | ( | void | ) |
| void Realm::SparsityMapImpl< N, T >::contribute_raw_rects | ( | const Rect< N, T > * | rects, |
| size_t | count, | ||
| size_t | piece_count, | ||
| bool | disjoint, | ||
| size_t | total_count | ||
| ) |
|
protected |
|
static |
| Event Realm::SparsityMapImpl< N, T >::make_valid | ( | bool | precise = true | ) |
| void Realm::SparsityMapImpl< N, T >::record_remote_contributor | ( | NodeID | contributor | ) |
| void Realm::SparsityMapImpl< N, T >::remote_data_reply | ( | NodeID | requestor, |
| bool | send_precise, | ||
| bool | send_approx | ||
| ) |
| void Realm::SparsityMapImpl< N, T >::remote_data_request | ( | NodeID | requestor, |
| bool | send_precise, | ||
| bool | send_approx | ||
| ) |
| void Realm::SparsityMapImpl< N, T >::set_contributor_count | ( | int | count | ) |
|
protected |
|
protected |
|
protected |
| SparsityMap<N, T> Realm::SparsityMapImpl< N, T >::me |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |