Instance Class Reference

HiCR: HiCR::backend::mpi::Instance Class Reference
HiCR
HiCR::backend::mpi::Instance Class Referencefinal

#include <instance.hpp>

Inheritance diagram for HiCR::backend::mpi::Instance:
HiCR::Instance

Public Member Functions

 Instance (const int rank)
 
 ~Instance () override=default
 
bool isRootInstance () const override
 
__INLINE__ int getRank () const
 
- Public Member Functions inherited from HiCR::Instance
__INLINE__ instanceId_t getId () const
 

Public Attributes

const int _rank
 

Additional Inherited Members

- Public Types inherited from HiCR::Instance
using instanceId_t = uint64_t
 
- Protected Member Functions inherited from HiCR::Instance
__INLINE__ Instance (instanceId_t id)
 

Detailed Description

This class represents an abstract definition for a HICR instance as represented by the MPI backend:

Constructor & Destructor Documentation

◆ Instance()

HiCR::backend::mpi::Instance::Instance ( const int  rank)
inline

Constructor for a Instance class for the MPI backend

Parameters
[in]rankThe MPI rank corresponding to this HiCR instance

◆ ~Instance()

HiCR::backend::mpi::Instance::~Instance ( )
overridevirtualdefault

Default destructor

Reimplemented from HiCR::Instance.

Member Function Documentation

◆ getRank()

__INLINE__ int HiCR::backend::mpi::Instance::getRank ( ) const
inline

Retrieves this HiCR Instance's MPI rank

Returns
The MPI rank corresponding to this instance

◆ isRootInstance()

bool HiCR::backend::mpi::Instance::isRootInstance ( ) const
inlineoverridevirtual

This function reports whether the caller is the root instance

The root instance represents a single instance in the entire deployment with the following characteristics:

  • It is unique. Only a single instance shall be root in the entire deployment, even if new ones are created.
  • It belongs among the first set of instances created during launch time
  • It has no parent instance

The purpose of the root instance is to provide the minimal tiebreak mechanism that helps in role/task distribution.

Note
Each backend decides how to designate the root instance. Hence, this is a pure virtual function.
Returns
True, if the current instance is root; false, otherwise.

Implements HiCR::Instance.

Member Data Documentation

◆ _rank

const int HiCR::backend::mpi::Instance::_rank

Remembers the MPI rank this instance belongs to


The documentation for this class was generated from the following file:
  • /home/runner/work/HiCR/HiCR/include/hicr/backends/mpi/instance.hpp