Version: 9.14.0
MEDCoupling::ProcessorGroup Class Referenceabstract
Inheritance diagram for MEDCoupling::ProcessorGroup:
Collaboration diagram for MEDCoupling::ProcessorGroup:

Public Member Functions

bool contains (int rank) const
 
virtual bool containsMyRank () const =0
 
virtual ProcessorGroupcreateComplementProcGroup () const =0
 
virtual ProcessorGroupcreateProcGroup () const =0
 
virtual ProcessorGroupdeepCopy () const =0
 
virtual ProcessorGroupfuse (const ProcessorGroup &) const =0
 
const CommInterfacegetCommInterface () const
 
virtual const std::set< int > & getProcIDs () const
 
virtual const std::set< int > & getProcIDsByName (const std::string &simCodeTag) const
 
virtual void intersect (ProcessorGroup &)=0
 
virtual int myRank () const =0
 
 ProcessorGroup (const CommInterface &interface)
 
 ProcessorGroup (const CommInterface &interface, int start, int end)
 
 ProcessorGroup (const CommInterface &interface, std::map< std::string, std::set< int >> proc_ids_by_name, const std::string &simCodeTag)
 
 ProcessorGroup (const CommInterface &interface, std::set< int > proc_ids)
 
 ProcessorGroup (const ProcessorGroup &other)
 
 ProcessorGroup (const ProcessorGroup &proc_group, std::set< int > proc_ids)
 
int size () const
 
virtual int translateRank (const ProcessorGroup *, int) const =0
 
virtual ~ProcessorGroup ()
 

Protected Attributes

const CommInterface _comm_interface
 
std::set< int > _proc_ids
 
std::map< std::string, std::set< int > > _proc_ids_by_name
 

Detailed Description

Abstract class defining a group of processors (computation nodes) in a parallel run of a code.

See the non-abstract child MPIProcessorGroup

Constructor & Destructor Documentation

◆ ProcessorGroup() [1/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const CommInterface interface)

◆ ProcessorGroup() [2/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const CommInterface interface,
std::set< int >  proc_ids 
)

◆ ProcessorGroup() [3/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const ProcessorGroup proc_group,
std::set< int >  proc_ids 
)

◆ ProcessorGroup() [4/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const ProcessorGroup other)

◆ ProcessorGroup() [5/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const CommInterface interface,
int  start,
int  end 
)

References _proc_ids.

◆ ProcessorGroup() [6/6]

MEDCoupling::ProcessorGroup::ProcessorGroup ( const CommInterface interface,
std::map< std::string, std::set< int >>  proc_ids_by_name,
const std::string &  simCodeTag 
)

◆ ~ProcessorGroup()

virtual MEDCoupling::ProcessorGroup::~ProcessorGroup ( )
virtual

Member Function Documentation

◆ deepCopy()

virtual ProcessorGroup* MEDCoupling::ProcessorGroup::deepCopy ( ) const
pure virtual

◆ fuse()

virtual ProcessorGroup* MEDCoupling::ProcessorGroup::fuse ( const ProcessorGroup ) const
pure virtual

◆ intersect()

virtual void MEDCoupling::ProcessorGroup::intersect ( ProcessorGroup )
pure virtual

◆ contains()

bool MEDCoupling::ProcessorGroup::contains ( int  rank) const

◆ containsMyRank()

◆ size()

◆ getCommInterface()

◆ myRank()

◆ translateRank()

virtual int MEDCoupling::ProcessorGroup::translateRank ( const ProcessorGroup ,
int   
) const
pure virtual

◆ createComplementProcGroup()

virtual ProcessorGroup* MEDCoupling::ProcessorGroup::createComplementProcGroup ( ) const
pure virtual

◆ createProcGroup()

virtual ProcessorGroup* MEDCoupling::ProcessorGroup::createProcGroup ( ) const
pure virtual

◆ getProcIDs()

virtual const std::set<int>& MEDCoupling::ProcessorGroup::getProcIDs ( ) const
virtual

◆ getProcIDsByName()

virtual const std::set<int>& MEDCoupling::ProcessorGroup::getProcIDsByName ( const std::string &  simCodeTag) const
virtual

References _proc_ids_by_name.

Member Data Documentation

◆ _comm_interface

◆ _proc_ids_by_name

std::map<std::string, std::set<int> > MEDCoupling::ProcessorGroup::_proc_ids_by_name
protected

Referenced by getProcIDsByName().

◆ _proc_ids