vt 1.6.0
(Virtual Transport)
Loading...
Searching...
No Matches
vt::messaging::ActiveMessenger::ActiveRecvBroker Struct Reference

Active receive broker that keeps a pool of pre-posted Irecv slots per size-class tag to drain unexpected ActiveMsg traffic quickly. More...

Classes

struct  Slot

Public Member Functions

void setup (ActiveMessenger *self)
bool progress (ActiveMessenger *self)
void cleanup ()

Static Public Attributes

static constexpr int num_caps_ = 4
static constexpr int caps_ [num_caps_] = {512, 2048, 8192, 32768}

Private Member Functions

void postSlot (ActiveMessenger *self, Slot &s)

Private Attributes

std::vector< Slotslots_

Static Private Attributes

static constexpr MPI_TagType tags_ [num_caps_]
static constexpr int slots_per_class_ = 4

Detailed Description

Active receive broker that keeps a pool of pre-posted Irecv slots per size-class tag to drain unexpected ActiveMsg traffic quickly.

Each completed slot dispatches directly to finishPendingActiveMsgAsyncRecv and is immediately reposted with a fresh buffer of the same capacity.

Member Function Documentation

◆ cleanup()

void vt::messaging::ActiveMessenger::ActiveRecvBroker::cleanup ( )

◆ postSlot()

void vt::messaging::ActiveMessenger::ActiveRecvBroker::postSlot ( ActiveMessenger * self,
Slot & s )
private

◆ progress()

bool vt::messaging::ActiveMessenger::ActiveRecvBroker::progress ( ActiveMessenger * self)

◆ setup()

void vt::messaging::ActiveMessenger::ActiveRecvBroker::setup ( ActiveMessenger * self)

Member Data Documentation

◆ caps_

int vt::messaging::ActiveMessenger::ActiveRecvBroker::caps_[num_caps_] = {512, 2048, 8192, 32768}
staticconstexpr

◆ num_caps_

int vt::messaging::ActiveMessenger::ActiveRecvBroker::num_caps_ = 4
staticconstexpr

◆ slots_

std::vector<Slot> vt::messaging::ActiveMessenger::ActiveRecvBroker::slots_
private

◆ slots_per_class_

int vt::messaging::ActiveMessenger::ActiveRecvBroker::slots_per_class_ = 4
staticconstexprprivate

◆ tags_

MPI_TagType vt::messaging::ActiveMessenger::ActiveRecvBroker::tags_[num_caps_]
staticconstexprprivate
Initial value:
= {
}
@ ActiveMsgS
Definition active.h:111
@ ActiveMsgL
Definition active.h:113
@ ActiveMsgXL
Definition active.h:114
@ ActiveMsgM
Definition active.h:112
int MPI_TagType
Definition active.h:101

The documentation for this struct was generated from the following files: