ESyS-Particle
4.0.1
|
Buffer for MPI scatter/gather, root component. More...
#include <mpisgbuf.h>
Public Member Functions | |
CMPISGBufferRoot (MPI_Comm, int) | |
virtual void | clear () |
virtual void | gather () |
virtual void | scatter () |
virtual void | append (int, int) |
virtual void | append (double, int) |
virtual void | append (const char *, int) |
virtual int | pop_int (int) |
virtual double | pop_double (int) |
virtual void | pop_doubles (int, double *, int) |
Buffer for MPI scatter/gather, root component.
CMPISGBufferRoot::CMPISGBufferRoot | ( | MPI_Comm | comm, |
int | buffersize | ||
) |
Constructor for CMPISGBufferRoot
comm | the MPI communicator |
buffersize | buffer size per slice |
References AMPISGBufferRoot::m_size.
void CMPISGBufferRoot::append | ( | int | i, |
int | nslice | ||
) | [virtual] |
Append an integer to a given slice of the buffer.
i | the integer |
nslice | the nr. of the slice |
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_size.
void CMPISGBufferRoot::append | ( | double | d, |
int | nslice | ||
) | [virtual] |
Append an double to a given slice of the buffer.
d | the double |
nslice | the nr. of the slice |
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_size.
void CMPISGBufferRoot::append | ( | const char * | str, |
int | nslice | ||
) | [virtual] |
Append an C string (char*) to a given slice of the buffer.
str | the string |
nslice | the nr. of the slice |
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_size.
void CMPISGBufferRoot::gather | ( | ) | [virtual] |
Get data from all other members of the communicator, using MPI_Gather
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_rank.
Referenced by CLatticeMaster::checkNeighbors().
double CMPISGBufferRoot::pop_double | ( | int | nslice | ) | [virtual] |
Pops an double from a given slice of the the buffer.
nslice | the nr. of the slice |
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm.
int CMPISGBufferRoot::pop_int | ( | int | nslice | ) | [virtual] |
Pops an integer from a given slice of the the buffer, i.e. it pops the last sizeof(MPI_INT) bytes of the buffer, interpreting them as an int.
nslice | the nr. of the slice |
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_size.
Referenced by CLatticeMaster::checkNeighbors().
void CMPISGBufferRoot::scatter | ( | ) | [virtual] |
Send data to all other members of the communicator, using MPI_Scatter
Implements AMPISGBufferRoot.
References AMPISGBufferRoot::m_comm, and AMPISGBufferRoot::m_rank.