|
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.