libgrape-lite
A C++ library for parallel graph processing
Public Member Functions | Private Attributes | List of all members
grape::Communicator Class Reference

Communicator provides methods to implement distributed aggregation, such as Min/Max/Sum. More...

#include <communicator.h>

Public Member Functions

void InitCommunicator (MPI_Comm comm)
 
template<typename T >
void SendTo (fid_t fid, const T &msg)
 
template<typename T >
void RecvFrom (fid_t fid, T &msg)
 
template<typename T , typename FUNC_T >
void AllReduce (const T &msg_in, T &msg_out, const FUNC_T &func)
 
template<typename T >
void AllGather (const T &msg_in, std::vector< T > &msg_out)
 
template<typename T >
void AllGather (T &&msg_in, std::vector< T > &msg_out)
 
template<typename T >
void Max (const T &msg_in, T &msg_out)
 
template<typename T >
void Min (const T &msg_in, T &msg_out)
 
template<typename T >
void Sum (const T &msg_in, T &msg_out)
 

Private Attributes

MPI_Comm comm_
 

Detailed Description

Communicator provides methods to implement distributed aggregation, such as Min/Max/Sum.