Muster
 All Classes Namespaces Files Functions Variables Typedefs Macros
multi_gather< T > Class Template Reference

Asynchronous, some-to-some gather operation used by parallel clustering algorithms to simultaneously send members of sample sets to a set of distributed worker processes. More...

#include <multi_gather.h>

Public Member Functions

 multi_gather (MPI_Comm _comm, int _tag=0)
 Construct a mult_gather on a communicator. More...
 
template<class ObjIterator , class RankIterator >
void start (ObjIterator begin_obj, ObjIterator end_obj, RankIterator begin_src, RankIterator end_src, std::vector< T > &dest, int root)
 Starts initial send and receive requests for this gather. More...
 
template<class RankIterator >
void start (const T &obj, RankIterator begin_src, RankIterator end_src, std::vector< T > &dest, int root)
 Starts a gather with one object instead of a range of objects. More...
 
void finish ()
 

Detailed Description

template<class T>
class cluster::multi_gather< T >

Asynchronous, some-to-some gather operation used by parallel clustering algorithms to simultaneously send members of sample sets to a set of distributed worker processes.

Template Parameters
TType of objects to be transferred by this multi_gather. Must support the following operations:
  • int packed_size(MPI_Comm comm) const
  • void pack(void *buf, int bufsize, int *position, MPI_Comm comm) const
  • static T unpack(void *buf, int bufsize, int *position, MPI_Comm comm)
See Also
par_kmedoids::run_pam_trials(), which uses this class.

Definition at line 62 of file multi_gather.h.

Constructor & Destructor Documentation

multi_gather ( MPI_Comm  _comm,
int  _tag = 0 
)
inline

Construct a mult_gather on a communicator.

MPI communication will use the specified tag.

Definition at line 107 of file multi_gather.h.

Member Function Documentation

void finish ( )
inline

Definition at line 183 of file multi_gather.h.

void start ( ObjIterator  begin_obj,
ObjIterator  end_obj,
RankIterator  begin_src,
RankIterator  end_src,
std::vector< T > &  dest,
int  root 
)
inline

Starts initial send and receive requests for this gather.

Must be followed up with a call to finish().

Definition at line 114 of file multi_gather.h.

void start ( const T &  obj,
RankIterator  begin_src,
RankIterator  end_src,
std::vector< T > &  dest,
int  root 
)
inline

Starts a gather with one object instead of a range of objects.

Definition at line 179 of file multi_gather.h.


The documentation for this class was generated from the following file:
Muster. Copyright © 2010, Lawrence Livermore National Laboratory, LLNL-CODE-433662.
Distribution of Muster and its documentation is subject to terms of the Muster LICENSE.
Generated on Thu Sep 1 2016 using Doxygen 1.8.5