Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::IParallelSuperMng Class Referenceabstract

Public Types

typedef Parallel::Request Request
typedef Parallel::eReduceType eReduceType

Public Member Functions

virtual ~IParallelSuperMng ()
 Frees resources.
virtual void build ()=0
 Constructs the instance members.
virtual void initialize ()=0
 Initializes the instance.
virtual IApplicationapplication () const =0
 Returns the main manager.
virtual IThreadMngthreadMng () const =0
 Thread manager.
virtual bool isParallel () const =0
 Returns true if the execution is parallel.
virtual Int32 commRank () const =0
 Returns the process number (between 0 and nbProcess()-1).
virtual Int32 commSize () const =0
 Returns the total number of processes used.
virtual Int32 traceRank () const =0
 Rank of this instance for traces.
virtual void * getMPICommunicator ()=0
 Address of the MPI communicator associated with this manager.
virtual Parallel::Communicator communicator () const =0
 MPI communicator associated with this manager.
virtual Ref< IParallelMnginternalCreateWorldParallelMng (Int32 local_rank)=0
virtual Int32 nbLocalSubDomain ()=0
 Number of subdomains to create locally.
virtual void tryAbort ()=0
 Attempts to abort.
virtual bool isMasterIO () const =0
 Returns true if the instance is a master I/O manager.
virtual Int32 masterIORank () const =0
 Rank of the instance managing input/output (for which isMasterIO() is true).
virtual void barrier ()=0
 Parallelism manager for all allocated resources.
broadcast operations
virtual void broadcast (ByteArrayView send_buf, Integer process_id)=0
 Sends an array of values to all processes This operation synchronizes the value array send_buf across all processes. The array used is that of the process whose identifier (processId()) is process_id. All processes must call this method with the same parameter process_id and have a send_buf array containing the same number of elements.
virtual void broadcast (Int32ArrayView send_buf, Integer process_id)=0
virtual void broadcast (Int64ArrayView send_buf, Integer process_id)=0
virtual void broadcast (RealArrayView send_buf, Integer process_id)=0

Detailed Description

Definition at line 41 of file IParallelSuperMng.h.

Member Typedef Documentation

◆ eReduceType

◆ Request

typedef Parallel::Request Arcane::IParallelSuperMng::Request

Definition at line 45 of file IParallelSuperMng.h.

Constructor & Destructor Documentation

◆ ~IParallelSuperMng()

virtual Arcane::IParallelSuperMng::~IParallelSuperMng ( )
inlinevirtual

Frees resources.

Definition at line 50 of file IParallelSuperMng.h.

Member Function Documentation

◆ barrier()

virtual void Arcane::IParallelSuperMng::barrier ( )
pure virtual

Parallelism manager for all allocated resources.

Performs a barrier

◆ broadcast()

virtual void Arcane::IParallelSuperMng::broadcast ( ByteArrayView send_buf,
Integer process_id )
pure virtual

Sends an array of values to all processes This operation synchronizes the value array send_buf across all processes. The array used is that of the process whose identifier (processId()) is process_id. All processes must call this method with the same parameter process_id and have a send_buf array containing the same number of elements.

Implemented in Arcane::ParallelSuperMngDispatcher.

References broadcast().

Referenced by broadcast().

◆ build()

virtual void Arcane::IParallelSuperMng::build ( )
pure virtual

Constructs the instance members.

The instance is not usable until this method has been called. This method must be called before initialize().

Warning
This method must only be called once.

◆ communicator()

virtual Parallel::Communicator Arcane::IParallelSuperMng::communicator ( ) const
pure virtual

MPI communicator associated with this manager.

See also
IParallelMng::communicator()

◆ getMPICommunicator()

virtual void * Arcane::IParallelSuperMng::getMPICommunicator ( )
pure virtual

Address of the MPI communicator associated with this manager.

The communicator is only valid if MPI is used. Otherwise, the returned address is 0. The returned value is of type (MPI_Comm*).

◆ initialize()

virtual void Arcane::IParallelSuperMng::initialize ( )
pure virtual

Initializes the instance.

The instance is not usable until this method has been called.

Warning
This method must only be called once.

◆ masterIORank()

virtual Int32 Arcane::IParallelSuperMng::masterIORank ( ) const
pure virtual

Rank of the instance managing input/output (for which isMasterIO() is true).

In the current implementation, this is always the rank 0 processor.

◆ nbLocalSubDomain()

virtual Int32 Arcane::IParallelSuperMng::nbLocalSubDomain ( )
pure virtual

Number of subdomains to create locally.

  • 1 if sequential.
  • 1 if pure MPI
  • n if THREAD or THREAD/MPI

◆ tryAbort()

virtual void Arcane::IParallelSuperMng::tryAbort ( )
pure virtual

Attempts to abort.

This method is called when an exception has been generated and the current execution case must stop. It allows performing cleanup operations on the manager if necessary.


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