![]() |
rebl-AMR
|
A template wrapper around MPI functions for point to point communication. More...
#include <communicate.h>
Public Member Functions | |
| CommPoint2Point (void *buff, uint size, uint *tg, uint snd, uint rcv, uint type, MPI_Comm com) | |
| CommPoint2Point (void *buff, uint size, uint snd, uint rcv) | |
| CommPoint2Point (void *buff, uint size) | |
| void | assignSender (uint sndr) |
| void | assignReciever (uint rcv) |
| integer | myRank () |
| integer | mySize () |
| void | Irecv () |
| void | Isend () |
| void | recv () |
| void | send () |
| void | getOffset (uint myvalue, uint *offset) |
| ~CommPoint2Point () | |
Private Attributes | |
| MpiCom | Com |
| Message | Msg |
A template wrapper around MPI functions for point to point communication.
class CommPoint2Point abstracts point to point communications and functions
| CommPoint2Point< Type >::CommPoint2Point | ( | void * | buff, |
| uint | size, | ||
| uint * | tg, | ||
| uint | snd, | ||
| uint | rcv, | ||
| uint | type, | ||
| MPI_Comm | Comm | ||
| ) |
full constructor
< default tag for message send and recieve is "0", MPI_ANY_TAG is onlu OK for recieve commnad so it can not be used here
| Comm | If communicator is not specified it will be set as MPI_COMM_WORLD by default |
| CommPoint2Point< Type >::CommPoint2Point | ( | void * | buff, |
| uint | size, | ||
| uint | snd, | ||
| uint | rcv | ||
| ) |
default constructor
| rcv | another constructor for Communicator class |
| CommPoint2Point< Type >::CommPoint2Point | ( | void * | buff, |
| uint | size | ||
| ) |
deferring the assigment of sender and reciever
| size | another constructor for Communicator class, deferes assigning sender and reciever |
|
inline |
| void CommPoint2Point< Type >::assignReciever | ( | uint | rcv | ) |
assigns the sender of the message
| void CommPoint2Point< Type >::assignSender | ( | uint | sndr | ) |
| void CommPoint2Point< Type >::getOffset | ( | uint | myvalue, |
| uint * | offset | ||
| ) |
calculates the offset of each processor for variable myvalue
| offset | gets the number of elements before the current processor, it is needed for globally defining the elements |
| void CommPoint2Point< Type >::Irecv | ( | ) |
non-blocking recieve
| void CommPoint2Point< Type >::Isend | ( | ) |
non-blocking send
| int CommPoint2Point< Type >::myRank | ( | ) |
assigns the destination the message gets the ranl of the processor
| int CommPoint2Point< Type >::mySize | ( | ) |
| void CommPoint2Point< Type >::recv | ( | ) |
blocking recieve
| void CommPoint2Point< Type >::send | ( | ) |
blocking send
|
private |
|
private |