|
void | Init (MPI_Comm comm) override |
| Inherit.
|
|
void | Start () override |
| Inherit.
|
|
void | StartARound () override |
| Inherit.
|
|
void | FinishARound () override |
| Inherit.
|
|
bool | ToTerminate () override |
| Inherit.
|
|
void | Finalize () override |
| Inherit.
|
|
size_t | GetMsgSize () const override |
| Inherit.
|
|
void | ForceContinue () override |
| Inherit.
|
|
void | ForceTerminate (const std::string &terminate_info) override |
| Inherit.
|
|
const TerminateInfo & | GetTerminateInfo () const override |
| Inherit.
|
|
template<typename MESSAGE_T > |
void | SendToFragment (fid_t dst_fid, const MESSAGE_T &msg) |
| Send message to a fragment. More...
|
|
template<typename GRAPH_T , typename MESSAGE_T > |
void | SyncStateOnOuterVertex (const GRAPH_T &frag, const typename GRAPH_T::vertex_t &v, const MESSAGE_T &msg) |
| Communication by synchronizing the status on outer vertices, for edge-cut fragments. More...
|
|
template<typename GRAPH_T , typename MESSAGE_T > |
void | SendMsgThroughIEdges (const GRAPH_T &frag, const typename GRAPH_T::vertex_t &v, const MESSAGE_T &msg) |
| Communication via a crossing edge a<-c. It sends message from a to c. More...
|
|
template<typename GRAPH_T , typename MESSAGE_T > |
void | SendMsgThroughOEdges (const GRAPH_T &frag, const typename GRAPH_T::vertex_t &v, const MESSAGE_T &msg) |
| Communication via a crossing edge a->b. It sends message from a to b. More...
|
|
template<typename GRAPH_T , typename MESSAGE_T > |
void | SendMsgThroughEdges (const GRAPH_T &frag, const typename GRAPH_T::vertex_t &v, const MESSAGE_T &msg) |
| Communication via crossing edges a->b and a<-c. It sends message from a to b and c. More...
|
|
template<typename MESSAGE_T > |
bool | GetMessage (MESSAGE_T &msg) |
| Get a message from message buffer. More...
|
|
template<typename GRAPH_T , typename MESSAGE_T > |
bool | GetMessage (const GRAPH_T &frag, typename GRAPH_T::vertex_t &v, MESSAGE_T &msg) |
| Get a message and its target vertex from message buffer. More...
|
|
Default message manager.
The send and recv methods are not thread-safe.
template<typename GRAPH_T , typename MESSAGE_T >
void grape::DefaultMessageManager::SyncStateOnOuterVertex |
( |
const GRAPH_T & |
frag, |
|
|
const typename GRAPH_T::vertex_t & |
v, |
|
|
const MESSAGE_T & |
msg |
|
) |
| |
|
inline |
Communication by synchronizing the status on outer vertices, for edge-cut fragments.
Assume a fragment F_1, a crossing edge a->b' in F_1 and a is an inner vertex in F_1. This function invoked on F_1 send status on b' to b on F_2, where b is an inner vertex.
- Template Parameters
-
- Parameters
-