MADNESS 0.10.1
SafeMPI::Intracomm::Impl Struct Reference

Public Member Functions

 Impl (const MPI_Comm &c, int m, int n, bool o)
 ~Impl ()
int unique_reserved_tag ()
 Returns a unique tag reserved for long-term use (0<tag<1000).
int unique_tag ()
 Returns a unique tag for temporary use (1023<tag<=4095).

Static Public Member Functions

static int unique_tag_period ()

Public Attributes

MPI_Comm comm
int me
int numproc
bool owner
int urtag
int utag

Constructor & Destructor Documentation

◆ Impl()

SafeMPI::Intracomm::Impl::Impl ( const MPI_Comm & c,
int m,
int n,
bool o )
inline

◆ ~Impl()

Member Function Documentation

◆ unique_reserved_tag()

int SafeMPI::Intracomm::Impl::unique_reserved_tag ( )
inline

Returns a unique tag reserved for long-term use (0<tag<1000).

Get a tag from this routine for long-term/repeated use.

Tags in [1000,1023] are statically assigned.

References MADNESS_EXCEPTION, and urtag.

◆ unique_tag()

int SafeMPI::Intracomm::Impl::unique_tag ( )
inline

Returns a unique tag for temporary use (1023<tag<=4095).

These tags are intended for one time use to avoid tag collisions with other messages around the same time period. It simply increments/wraps a counter and returns the next legal value.

So that send and receiver agree on the tag all processes need to call this routine in the same sequence.

References utag.

◆ unique_tag_period()

int SafeMPI::Intracomm::Impl::unique_tag_period ( )
inlinestatic
Returns
the period of repeat of unique tags produces by unique_tag()

Referenced by SafeMPI::Intracomm::unique_tag_period().

Member Data Documentation

◆ comm

MPI_Comm SafeMPI::Intracomm::Impl::comm

Referenced by Impl(), and ~Impl().

◆ me

int SafeMPI::Intracomm::Impl::me

Referenced by Impl().

◆ numproc

int SafeMPI::Intracomm::Impl::numproc

Referenced by Impl().

◆ owner

bool SafeMPI::Intracomm::Impl::owner

Referenced by Impl(), and ~Impl().

◆ urtag

int SafeMPI::Intracomm::Impl::urtag

Referenced by Impl(), and unique_reserved_tag().

◆ utag

int SafeMPI::Intracomm::Impl::utag

Referenced by Impl(), and unique_tag().


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