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. | |
Public Member Functions inherited from Aqua::CalcServer::MPISync::Exchanger | |
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 Public Member Functions inherited from Aqua::CalcServer::MPISync::Exchanger | |
static const MPIType | typeToMPI (std::string t) |
MPI type descriptor. | |
Protected Attributes inherited from Aqua::CalcServer::MPISync::Exchanger | |
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.