Class AAHD_ASynchronousCommunicator

Inheritance Relationships

Base Type

Class Documentation

class AAHD_ASynchronousCommunicator : public opensn::AsynchronousCommunicator

Interprocess communicator for AAH sweep on GPU devices.

Public Functions

AAHD_ASynchronousCommunicator(FLUDS &fluds, std::size_t num_groups, std::size_t num_angles, int max_mpi_message_size, const MPICommunicatorSet &comm_set)
inline int GetMaxNumMessages() const
inline void SetMaxNumMessages(int count)
void PrepostReceiveUpstreamPsi(int angle_set_num)

Pre-post receiving upstream dependencies have been met.

void WaitForUpstreamPsi()

Block until all upstream messages have been received.

void PrepostReceiveDelayedData(int angle_set_num)

Pre-post receive delayed data from successor locations.

void WaitForDelayedIncomingPsi()

Wait until all delayed incoming messages have been received.

void SendDownstreamPsi(int angle_set_num)

Send non-local outgoing psi.

void WaitForDownstreamPsi()

Wait until all downstream messages have been sent.

Protected Functions

void BuildMessageStructure()

Build message structure.

Message structure for tracking incoming, delayed incoming and outgoing non-local fluxes.