Classes | Public Member Functions

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>

List of all members.

Classes

struct  buffer
 internal struct for buffering sends and recvs.

Public Member Functions

 multi_gather (MPI_Comm _comm, int _tag=0)
 Construct a mult_gather on a communicator.
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.
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.
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 Mon Dec 20 2010 using Doxygen 1.7.2