AQUAgpusph 5.0.4
|
Synchronize arrays between processes. More...
#include <MPISync.hpp>
Public Member Functions | |
Receiver (const std::string name, const std::string vars_prefix, InputOutput::ArrayVariable *mask, const std::vector< InputOutput::ArrayVariable * > fields, const std::vector< void * > field_hosts, const uicl proc, InputOutput::Variable *n_offset) | |
~Receiver () | |
void | execute (EventProfile *profiler) |
Receive the information. | |
Public Member Functions inherited from Aqua::CalcServer::MPISync::Exchanger | |
Exchanger (const std::string name, const std::string vars_prefix, InputOutput::ArrayVariable *mask, const std::vector< InputOutput::ArrayVariable * > fields, const std::vector< void * > field_hosts, const uicl proc) | |
~Exchanger () | |
const std::string | name () const |
Parent tool name. | |
uicl | proc () const |
Processor. |
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 | |
std::string | _var_prefix |
Variables prefix. | |
InputOutput::ArrayVariable * | _mask |
Mask. | |
std::vector< InputOutput::ArrayVariable * > | _fields |
Field. | |
uicl | _proc |
Processor. | |
size_t | _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::Receiver::Receiver | ( | const std::string | name, |
const std::string | vars_prefix, | ||
InputOutput::ArrayVariable * | mask, | ||
const std::vector< InputOutput::ArrayVariable * > | fields, | ||
const std::vector< void * > | field_hosts, | ||
const uicl | proc, | ||
InputOutput::Variable * | n_offset ) |
Constructor
name | The same name that the owner tool (See Aqua::CalcServer::MPISync) |
vars_prefix | The unique prefix to register new variables (See Aqua::CalcServer::Tool::varPrefix()) |
mask | Incoming data process mask |
fields | Fields to store the incoming data |
field_hosts | Allocated host memory to temporary copy the incoming data, which will be uploaded to the computational device afterwards |
proc | Process from which the data shall be received |
n_offset | Variable where the number of already received particles should be stored. |
Aqua::CalcServer::MPISync::Receiver::~Receiver | ( | ) |
Destructor.
void Aqua::CalcServer::MPISync::Receiver::execute | ( | EventProfile * | profiler | ) |
Receive the information.
profiler | The profiler |