AQUAgpusph 5.0.4
|
Interprocess array synchronization base class. More...
#include <MPISync.hpp>
Data Structures | |
struct | MPIType |
Data structure to store the type information required by MPI. More... |
Public Member Functions | |
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. |
Static Public Member Functions | |
static const MPIType | typeToMPI (std::string t) |
MPI type descriptor. |
Protected Attributes | |
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. |
Interprocess array synchronization base class.
This class is used to setup host storages for the send & receive operations, to provide some helper functions to translate between OpenCL types and MPI ones
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 ) |
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 | 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 |
|
inline |
Destructor.
|
inline |
Parent tool name.
|
inline |
Processor.
|
protected |
Field.
|
protected |
Host memory arrays to download, send, receive and upload the data.
|
protected |
Mask.
|
protected |
Total number of elements.
|
protected |
Processor.
|
protected |
Variables prefix.