MADNESS  0.10.1
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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) More...
 
int unique_tag ()
 Returns a unique tag for temporary use (1023<tag<=4095) More...
 

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

References comm, MADNESS_ASSERT, and MPI_COMM_NULL.

◆ ~Impl()

SafeMPI::Intracomm::Impl::~Impl ( )
inline

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()

static 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

◆ numproc

int SafeMPI::Intracomm::Impl::numproc

◆ owner

bool SafeMPI::Intracomm::Impl::owner

Referenced by ~Impl().

◆ urtag

int SafeMPI::Intracomm::Impl::urtag

Referenced by unique_reserved_tag().

◆ utag

int SafeMPI::Intracomm::Impl::utag

Referenced by unique_tag().


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