AQUAgpusph 5.0.4
Loading...
Searching...
No Matches
Aqua::CalcServer::MPISync::Sender Class Reference

Synchronize arrays between processes. More...

#include <MPISync.hpp>

Inheritance diagram for Aqua::CalcServer::MPISync::Sender:
Collaboration diagram for Aqua::CalcServer::MPISync::Sender:

Public Member Functions

 Sender (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)
 ~Sender ()
void execute (EventProfile *profiler)
 Send 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.

Detailed Description

Synchronize arrays between processes.

Constructor & Destructor Documentation

◆ Sender()

Aqua::CalcServer::MPISync::Sender::Sender ( 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

Parameters
nameThe same name that the owner tool (See Aqua::CalcServer::MPISync)
vars_prefixThe unique prefix to register new variables (See Aqua::CalcServer::Tool::varPrefix())
maskAlready sorted mask
fieldsAlready sorted fields
field_hostsAllocated host memory to temporary copy the data, while it is sent to another process or it is uploaded to the computational device either
procProcess to which the data shall be sent
n_offsetVariable 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
Here is the call graph for this function:

◆ ~Sender()

Aqua::CalcServer::MPISync::Sender::~Sender ( )

Destructor.

Member Function Documentation

◆ execute()

void Aqua::CalcServer::MPISync::Sender::execute ( EventProfile * profiler)

Send the information.

Parameters
profilerThe sending profiler

The documentation for this class was generated from the following file: