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

Public Member Functions

void InitCommunicator (MPI_Comm comm, ncclComm_t nccl_comm)
 
template<typename T >
void Sum (T msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Sum (T *msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Sum (T msg_in, T &msg_out)
 
template<typename T >
void Min (T msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Min (T *msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Min (T msg_in, T &msg_out)
 
template<typename T >
void Max (T msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Max (T *msg_in, T &msg_out, const Stream &stream)
 
template<typename T >
void Max (T msg_in, T &msg_out)
 
template<typename T >
std::vector< T > AllGather (T msg_in)
 

Private Member Functions

template<typename T >
ncclDataType_t ncclType ()
 
template<typename T >
MPI_Datatype mpiType ()
 
template<typename T >
void reduce (T *msg_in, T *msg_out, ncclRedOp_t op, const Stream &stream)
 
template<typename T >
void reduce (T msg_in, T &msg_out, ncclRedOp_t op, const Stream &stream)
 
template<typename T >
void reduce (T *msg_in, T &msg_out, ncclRedOp_t op, const Stream &stream)
 
template<typename T >
void reduce (const T *msg_in, T *msg_out, MPI_Op op)
 

Private Attributes

int n_rank_ {}
 
ncclComm_t nccl_comm_ {}
 
MPI_Comm comm_