|
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.