libgrape-lite
A C++ library for parallel graph processing
|
Public Member Functions | |
void | Init (MPI_Comm comm) override |
Initialize message manager. | |
void | Start () override |
This function will be called before Init step of applications. | |
void | StartARound () override |
This function will be called before each evaluation step of applications. | |
void | FinishARound () override |
This function will be called after each evaluation step of applications. | |
bool | ToTerminate () override |
This function will be called by worker after a step to determine whether evaluation is terminated. | |
void | Finalize () override |
This function will be called after the evaluation of applications. | |
void | ForceContinue () override |
Force continue to evaluate one more round even if all workers stop sending message. | |
void | ForceTerminate (const std::string &terminate_info="") override |
Force all workers terminate after this round of evaluation. | |
const TerminateInfo & | GetTerminateInfo () const override |
This function is called to get gathered termination info after evaluation finished. | |
size_t | GetMsgSize () const override |
Get size of messages sent by this message manager instance. The return value is valid only after FinishARound is called. StartARound will reset the value to zero. | |
template<typename FRAG_T , typename MESSAGE_T > | |
void | AllocateGatherBuffers (const FRAG_T &frag) |
template<typename GRAPH_T , typename MESSAGE_T , typename AGGR_T > | |
void | GatherMasterVertices (const GRAPH_T &frag, const typename GRAPH_T::template both_vertex_array_t< MESSAGE_T > &input, typename GRAPH_T::template vertex_array_t< MESSAGE_T > &output) |
template<typename GRAPH_T , typename MESSAGE_T > | |
void | ScatterMasterVertices (const GRAPH_T &frag, const typename GRAPH_T::template vertex_array_t< MESSAGE_T > &input, typename GRAPH_T::template both_vertex_array_t< MESSAGE_T > &output) |
Private Member Functions | |
bool | takeFromPool (std::vector< char > &buffer, size_t size) |
void | returnToPool (std::vector< char > &&buffer) |
Private Attributes | |
fid_t | fid_ |
fid_t | fnum_ |
CommSpec | comm_spec_ |
MPI_Comm | comm_ |
int | round_ |
size_t | sent_size_ |
bool | force_terminate_ |
TerminateInfo | terminate_info_ |
bool | vote_terminate_ |
std::map< size_t, std::queue< std::vector< char > > > | gather_pools_ |
|
inlineoverridevirtual |
This function will be called after the evaluation of applications.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
This function will be called after each evaluation step of applications.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
Force continue to evaluate one more round even if all workers stop sending message.
This function can be called by applications.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
Force all workers terminate after this round of evaluation.
This function can be called by applications.
info | Termination info. |
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
Get size of messages sent by this message manager instance. The return value is valid only after FinishARound is called. StartARound will reset the value to zero.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
This function is called to get gathered termination info after evaluation finished.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
This function will be called before Init step of applications.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
This function will be called before each evaluation step of applications.
Implements grape::MessageManagerBase.
|
inlineoverridevirtual |
This function will be called by worker after a step to determine whether evaluation is terminated.
Implements grape::MessageManagerBase.