AQUAgpusph 4.1.2
|
Synchronize arrays between processes. More...
#include <CalcServer/MPISync.h>
Public Member Functions | |
Sender (const std::string name, InputOutput::ArrayVariable *mask, const std::vector< InputOutput::ArrayVariable * > fields, const std::vector< void * > field_hosts, const unsigned int proc) | |
~Sender () | |
void | execute (void) |
Send the information. | |
![]() | |
Exchanger (const std::string name, InputOutput::ArrayVariable *mask, const std::vector< InputOutput::ArrayVariable * > fields, const std::vector< void * > field_hosts, const unsigned int proc) | |
~Exchanger () | |
const std::string | name () |
Parent tool name. | |
Additional Inherited Members | |
![]() | |
static const MPIType | typeToMPI (std::string t) |
MPI type descriptor. | |
![]() | |
InputOutput::ArrayVariable * | _mask |
Mask. | |
std::vector< InputOutput::ArrayVariable * > | _fields |
Field. | |
unsigned int | _proc |
Processor. | |
unsigned int | _n |
Total number of elements. | |
std::vector< void * > | _fields_host |
Host memory arrays to download, send, receive and upload the data. | |
Synchronize arrays between processes.
Aqua::CalcServer::MPISync::Sender::Sender | ( | const std::string | name, |
InputOutput::ArrayVariable * | mask, | ||
const std::vector< InputOutput::ArrayVariable * > | fields, | ||
const std::vector< void * > | field_hosts, | ||
const unsigned int | proc | ||
) |
Constructor
name | The same name that the owner tool (See Aqua::CalcServer::MPISync) |
mask | Already sorted mask |
fields | Already sorted fields |
field_hosts | Allocated host memory to temporary copy the data, while it is sent to another process or it is uploaded to the computational device either |
proc | Process to which the data shall be sent |
n_offset | Variable where the number of already sent particles should be stored. Sending instances will use this variable to both, know when they can proceed, and which is the offset to read from fields |
Aqua::CalcServer::MPISync::Sender::~Sender | ( | ) |
Destructor.
void Aqua::CalcServer::MPISync::Sender::execute | ( | void | ) |
Send the information.