Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ParallelTopology Class Reference

Information on the topology for allocating computing cores. More...

#include <arcane/impl/ParallelTopology.h>

Inheritance diagram for Arcane::ParallelTopology:
Collaboration diagram for Arcane::ParallelTopology:

Public Member Functions

 ParallelTopology (IParallelMng *pm)
virtual ~ParallelTopology ()
 Frees resources.
virtual void initialize ()
 Initializes the instance. This operation is collective.
virtual IParallelMngparallelMng () const
 Associated parallelism manager.
virtual bool isMasterMachine () const
 Indicates if this rank is the master rank for a machine (node).
virtual Int32ConstArrayView machineRanks () const
 List of ranks that are on the same machine.
virtual Int32 machineRank () const
 Rank of this instance in the list of machines (nodes).
virtual Int32ConstArrayView masterMachineRanks () const
 List of master ranks for each machine (node).
virtual bool isMasterProcess () const
 Indicates if this rank is the master within the ranks of this process.
virtual Int32ConstArrayView processRanks () const
 List of ranks that are in the same process (in multi-threading).
virtual Int32 processRank () const
 Rank of this instance in the list of processes.
virtual Int32ConstArrayView masterProcessRanks () const
 List of master ranks for each process.
Public Member Functions inherited from Arcane::IParallelTopology
virtual ~IParallelTopology ()=default
 Frees resources.

Private Member Functions

void _init ()

Private Attributes

IParallelMngm_parallel_mng
Int32UniqueArray m_machine_ranks
Int32UniqueArray m_process_ranks
Int32 m_machine_rank
Int32 m_process_rank
bool m_is_machine_master
bool m_is_process_master
Int32UniqueArray m_master_machine_ranks
Int32UniqueArray m_master_process_ranks

Detailed Description

Information on the topology for allocating computing cores.

Before use, initialize() must be called, which is a collective operation.

Definition at line 38 of file ParallelTopology.h.

Constructor & Destructor Documentation

◆ ParallelTopology()

Arcane::ParallelTopology::ParallelTopology ( IParallelMng * pm)

Definition at line 36 of file ParallelTopology.cc.

◆ ~ParallelTopology()

virtual Arcane::ParallelTopology::~ParallelTopology ( )
inlinevirtual

Frees resources.

Definition at line 44 of file ParallelTopology.h.

Member Function Documentation

◆ _init()

void Arcane::ParallelTopology::_init ( )
private

Definition at line 96 of file ParallelTopology.cc.

◆ initialize()

void Arcane::ParallelTopology::initialize ( )
virtual

Initializes the instance. This operation is collective.

Definition at line 49 of file ParallelTopology.cc.

Referenced by Arcane::ParallelMngUtilsFactoryBase::createTopology(), and Arcane::SequentialParallelMng::createTopology().

Here is the caller graph for this function:

◆ isMasterMachine()

bool Arcane::ParallelTopology::isMasterMachine ( ) const
virtual

Indicates if this rank is the master rank for a machine (node).

Implements Arcane::IParallelTopology.

Definition at line 211 of file ParallelTopology.cc.

◆ isMasterProcess()

bool Arcane::ParallelTopology::isMasterProcess ( ) const
virtual

Indicates if this rank is the master within the ranks of this process.

Implements Arcane::IParallelTopology.

Definition at line 238 of file ParallelTopology.cc.

◆ machineRank()

Int32 Arcane::ParallelTopology::machineRank ( ) const
virtual

Rank of this instance in the list of machines (nodes).

This rank is between 0 and masterMachineRanks().size().

Implements Arcane::IParallelTopology.

Definition at line 229 of file ParallelTopology.cc.

◆ machineRanks()

Int32ConstArrayView Arcane::ParallelTopology::machineRanks ( ) const
virtual

List of ranks that are on the same machine.

Implements Arcane::IParallelTopology.

Definition at line 220 of file ParallelTopology.cc.

◆ masterMachineRanks()

Int32ConstArrayView Arcane::ParallelTopology::masterMachineRanks ( ) const
virtual

List of master ranks for each machine (node).

This list is the same for all ranks.

Implements Arcane::IParallelTopology.

Definition at line 265 of file ParallelTopology.cc.

◆ masterProcessRanks()

Int32ConstArrayView Arcane::ParallelTopology::masterProcessRanks ( ) const
virtual

List of master ranks for each process.

This list is the same for all ranks.

Implements Arcane::IParallelTopology.

Definition at line 274 of file ParallelTopology.cc.

◆ parallelMng()

IParallelMng * Arcane::ParallelTopology::parallelMng ( ) const
virtual

Associated parallelism manager.

Implements Arcane::IParallelTopology.

Definition at line 202 of file ParallelTopology.cc.

◆ processRank()

Int32 Arcane::ParallelTopology::processRank ( ) const
virtual

Rank of this instance in the list of processes.

This rank is between 0 and masterProcessRanks().size().

Implements Arcane::IParallelTopology.

Definition at line 256 of file ParallelTopology.cc.

◆ processRanks()

Int32ConstArrayView Arcane::ParallelTopology::processRanks ( ) const
virtual

List of ranks that are in the same process (in multi-threading).

Implements Arcane::IParallelTopology.

Definition at line 247 of file ParallelTopology.cc.

Member Data Documentation

◆ m_is_machine_master

bool Arcane::ParallelTopology::m_is_machine_master
private

Definition at line 70 of file ParallelTopology.h.

◆ m_is_process_master

bool Arcane::ParallelTopology::m_is_process_master
private

Definition at line 71 of file ParallelTopology.h.

◆ m_machine_rank

Int32 Arcane::ParallelTopology::m_machine_rank
private

Definition at line 68 of file ParallelTopology.h.

◆ m_machine_ranks

Int32UniqueArray Arcane::ParallelTopology::m_machine_ranks
private

Definition at line 66 of file ParallelTopology.h.

◆ m_master_machine_ranks

Int32UniqueArray Arcane::ParallelTopology::m_master_machine_ranks
private

Definition at line 72 of file ParallelTopology.h.

◆ m_master_process_ranks

Int32UniqueArray Arcane::ParallelTopology::m_master_process_ranks
private

Definition at line 73 of file ParallelTopology.h.

◆ m_parallel_mng

IParallelMng* Arcane::ParallelTopology::m_parallel_mng
private

Definition at line 65 of file ParallelTopology.h.

◆ m_process_rank

Int32 Arcane::ParallelTopology::m_process_rank
private

Definition at line 69 of file ParallelTopology.h.

◆ m_process_ranks

Int32UniqueArray Arcane::ParallelTopology::m_process_ranks
private

Definition at line 67 of file ParallelTopology.h.


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