ivutils
|
manages two buffers: to send (receive) value to (from) another processor More...
#include <interp_transfer.h>
Public Member Functions | |
void | init () |
allocate memory for out- and in- buffers | |
void | reset_buffer (int out) |
switch pointer bufptr | |
void | transfer_dest (std::vector< val_t * > &buff, const std::vector< int > &meshinds, container_t *cont) |
adds inbuf values to destination buffers | |
void | make_requests (reqpair_t arg, apMPIComm *comm) |
initialize MPI_Send and MPI_Recv procedures | |
void | free_requests (reqpair_t arg, apMPIComm *comm) |
remove initialized mpi-procedures | |
Public Attributes | |
val_t * | bufptr |
points at outbuf or inbuf (depending on situation) | |
val_t * | outbuf |
buffer to send data to another processor | |
size_t | outsz |
total size of outbuf | |
size_t | outsz_vec = 0 |
size of vectorized (beginning) part of outbuf | |
val_t * | inbuf |
buffer to receive data from another processor | |
size_t | insz |
total size of inbuf | |
size_t | insz_vec = 0 |
size of vectorized (beginning) part of inbuf | |
ptrdiff_t | ind = 0 |
scalar index for filling buffers | |
packer_t | destpack |
packer of pairs 'buffer number - index in buffer array', used to distribute values recieved from other processors: these values are initially received to input buffer, and then recorded to destination buffers buff | |
manages two buffers: to send (receive) value to (from) another processor