|
ESyS-Particle
2.3.4
|
class for a MPI-buffer supporting all-to-all communication More...
#include <mpia2abuf.h>
Public Member Functions | |
| CMPIA2ABuffer (MPI_Comm, int) | |
| virtual | ~CMPIA2ABuffer () |
| virtual void | clear () |
| virtual void | all2all () |
| virtual void | append (int, int) |
| virtual void | append (double, int) |
| virtual int | pop_int (int) |
| virtual double | pop_double (int) |
Private Attributes | |
| MPI_Comm | m_comm |
| int | m_rank |
| the rank in this communicator More... | |
| int | m_size |
| size of the communicator More... | |
| int | m_int_increment |
| int | m_dbl_increment |
| the "packing size" of int/double More... | |
| MPI_Status | m_status |
| char * | m_buffer_s |
| send buffer More... | |
| char * | m_buffer_r |
| receive buffer More... | |
| int | m_buffersize |
| the size of the buffer per slice More... | |
| int * | m_position_s |
| the current end of the content in each slice of the send buffer More... | |
| int * | m_position_r |
| the current end of the content in each slice of the receive buffer More... | |
class for a MPI-buffer supporting all-to-all communication
| CMPIA2ABuffer::CMPIA2ABuffer | ( | MPI_Comm | comm, |
| int | buffersize | ||
| ) |
References m_buffer_r, m_buffer_s, m_buffersize, m_comm, m_dbl_increment, m_int_increment, m_position_r, m_position_s, m_rank, and m_size.
|
virtual |
References m_buffer_r, m_buffer_s, m_position_r, and m_position_s.
|
virtual |
References m_buffer_r, m_buffer_s, m_buffersize, and m_comm.
|
virtual |
Append an double to a given slice of the buffer.
| d | the double |
| nslice | the nr. of the slice |
References m_buffer_s, m_buffersize, m_comm, m_position_s, and m_size.
|
virtual |
Append an integer to a given slice of the buffer.
| i | the integer |
| nslice | the nr. of the slice |
References m_buffer_s, m_buffersize, m_comm, m_position_s, and m_size.
|
virtual |
References m_buffersize, m_position_r, m_position_s, and m_size.
|
virtual |
Pops an double from a given slice of the the buffer.
| nslice | the nr. of the slice |
References m_buffer_r, m_buffersize, m_comm, and m_position_r.
|
virtual |
Pops an integer from a given slice of the the buffer
| nslice | the nr. of the slice |
References m_buffer_r, m_buffersize, m_comm, m_position_r, and m_size.
|
private |
receive buffer
Referenced by all2all(), CMPIA2ABuffer(), pop_double(), pop_int(), and ~CMPIA2ABuffer().
|
private |
send buffer
Referenced by all2all(), append(), CMPIA2ABuffer(), and ~CMPIA2ABuffer().
|
private |
the size of the buffer per slice
Referenced by all2all(), append(), clear(), CMPIA2ABuffer(), pop_double(), and pop_int().
|
private |
Referenced by all2all(), append(), CMPIA2ABuffer(), pop_double(), and pop_int().
|
private |
the "packing size" of int/double
Referenced by CMPIA2ABuffer().
|
private |
Referenced by CMPIA2ABuffer().
|
private |
the current end of the content in each slice of the receive buffer
Referenced by clear(), CMPIA2ABuffer(), pop_double(), pop_int(), and ~CMPIA2ABuffer().
|
private |
the current end of the content in each slice of the send buffer
Referenced by append(), clear(), CMPIA2ABuffer(), and ~CMPIA2ABuffer().
|
private |
the rank in this communicator
Referenced by CMPIA2ABuffer().
|
private |
size of the communicator
Referenced by append(), clear(), CMPIA2ABuffer(), and pop_int().
|
private |