Go to the documentation of this file.
46 virtual void append(
const char*,
int)=0;
105 virtual void clear();
108 virtual void append(
int,
int);
109 virtual void append(
double,
int);
110 virtual void append(
const char*,
int);
135 virtual void clear();
139 virtual void append(
double);
140 virtual void append(
const char*);
147 #endif // __MPISGBUF_H
int m_root
rank of the root process
Definition: mpisgbuf.h:66
virtual double pop_double()=0
Buffer for MPI scatter/gather, root component.
Definition: mpisgbuf.h:94
int m_rank
the rank in this communicator
Definition: mpisgbuf.h:32
virtual void gather()
Definition: mpisgbuf.cpp:82
virtual int pop_int()
Definition: mpisgbuf.cpp:272
int m_buffersize
the size of the buffer per slice
Definition: mpisgbuf.h:98
virtual void clear()
Definition: mpisgbuf.cpp:213
virtual Vec3 pop_vector(int)
Definition: mpisgbuf.cpp:40
int len(const boost::python::object &pyOb)
Definition: Util.h:30
virtual double pop_double(int)=0
virtual void append(double, int)=0
MPI_Status m_status
Definition: mpisgbuf.h:35
virtual double pop_double()
Definition: mpisgbuf.cpp:286
CMPISGBufferRoot(MPI_Comm, int)
Definition: mpisgbuf.cpp:54
virtual ~AMPISGBufferLeaf()
Definition: mpisgbuf.h:71
MPI_Comm m_comm
the MPI Communicator used for the send/recv operations
Definition: mpibuf.h:36
MPI_Status m_status
Definition: mpibuf.h:37
virtual std::string pop_string()=0
virtual void append(const char *, int)=0
char * m_buffer
Definition: mpisgbuf.h:96
virtual ~CMPISGBufferLeaf()
Definition: mpisgbuf.cpp:208
virtual double pop_double(int)
Definition: mpisgbuf.cpp:160
int m_int_increment
Definition: mpisgbuf.h:67
virtual void append(int, int)=0
Abstract base class for MPI send/recv buffer.
Definition: mpibuf.h:34
virtual void pop_doubles(double *, int)=0
AMPISGBufferRoot(MPI_Comm)
Definition: mpisgbuf.cpp:24
CMPISGBufferLeaf(MPI_Comm, int, int)
Definition: mpisgbuf.cpp:197
virtual void append(int)
Definition: mpisgbuf.cpp:239
VEC3_INLINE double & X()
Definition: vec3.h:119
virtual int pop_int(int)=0
MPI_Comm m_comm
the MPI communicator used for the scatter/gather operations
Definition: mpisgbuf.h:31
int * m_position
the current end of the content in each slice
Definition: mpisgbuf.h:99
VEC3_INLINE double & Z()
Definition: vec3.h:121
virtual void pop_doubles(double *, int)
Definition: mpisgbuf.cpp:294
int m_buffersize
the size of the buffer
Definition: mpisgbuf.h:128
#define NULL
Definition: t_list.h:17
const MPI_Status & status()
Definition: mpisgbuf.h:52
virtual void clear()
Definition: mpisgbuf.cpp:72
const MPI_Status & status()
Definition: mpisgbuf.h:82
VEC3_INLINE double & Y()
Definition: vec3.h:120
virtual void receive()
Definition: mpisgbuf.cpp:229
virtual void send()
Definition: mpisgbuf.cpp:221
virtual ~CMPISGBufferRoot()
Definition: mpisgbuf.cpp:65
char * m_buffer
Definition: mpisgbuf.h:127
int m_dbl_increment
the "packing size" of int/double
Definition: mpisgbuf.h:67
virtual std::string pop_string()
Definition: mpisgbuf.cpp:305
AMPISGBufferLeaf(MPI_Comm, int)
Definition: mpisgbuf.cpp:181
virtual void pop_doubles(int, double *, int)
Definition: mpisgbuf.cpp:168
Buffer for MPI scatter/gather, leaf component.
Definition: mpisgbuf.h:125
virtual void append(double)=0
virtual void scatter()
Definition: mpisgbuf.cpp:90
int m_int_increment
Definition: mpisgbuf.h:34
virtual void append(int, int)
Definition: mpisgbuf.cpp:103
Abstract base class for scatter/gather buffer, leaf component.
Definition: mpisgbuf.h:64
virtual int pop_int(int)
Definition: mpisgbuf.cpp:143
int m_size
size of the communicator
Definition: mpisgbuf.h:33
char * m_dummy_buffer
dummy buffer sent by root to itself
Definition: mpisgbuf.h:97
virtual void append(int)=0
virtual void pop_doubles(int, double *, int)=0
int m_position
the current end of the content
Definition: mpisgbuf.h:129
virtual ~AMPISGBufferRoot()
Definition: mpisgbuf.h:39
int m_dbl_increment
the "packing size" of int/double
Definition: mpisgbuf.h:34
Abstract base class for scatter/gather buffer, root component.
Definition: mpisgbuf.h:29