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

Redirects the message management of sub-domains based on the argument type. More...

#include <arcane/core/ParallelSuperMngDispatcher.h>

Inheritance diagram for Arcane::ParallelSuperMngDispatcher:
Collaboration diagram for Arcane::ParallelSuperMngDispatcher:

Public Member Functions

virtual void allGather (ByteConstArrayView send_buf, ByteArrayView recv_buf)
virtual void allGather (Int32ConstArrayView send_buf, Int32ArrayView recv_buf)
virtual void allGather (Int64ConstArrayView send_buf, Int64ArrayView recv_buf)
virtual void allGather (RealConstArrayView send_buf, RealArrayView recv_buf)
virtual Int32 reduce (eReduceType rt, Int32 v)
virtual Int64 reduce (eReduceType rt, Int64 v)
virtual Real reduce (eReduceType rt, Real v)
virtual void reduce (eReduceType rt, Int32ArrayView v)
virtual void reduce (eReduceType rt, Int64ArrayView v)
virtual void reduce (eReduceType rt, RealArrayView v)
void broadcast (ByteArrayView send_buf, Integer id) override
 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.
void broadcast (Int32ArrayView send_buf, Integer id) override
void broadcast (Int64ArrayView send_buf, Integer id) override
void broadcast (RealArrayView send_buf, Integer id) override
virtual void send (ByteConstArrayView values, Integer id)
virtual void send (Int32ConstArrayView values, Integer id)
virtual void send (Int64ConstArrayView values, Integer id)
virtual void send (RealConstArrayView values, Integer id)
virtual void recv (ByteArrayView values, Integer id)
virtual void recv (Int32ArrayView values, Integer id)
virtual void recv (Int64ArrayView values, Integer id)
virtual void recv (RealArrayView values, Integer id)
virtual Request send (ByteConstArrayView values, Integer id, bool is_blocked)
virtual Request send (Int32ConstArrayView values, Integer id, bool is_blocked)
virtual Request send (Int64ConstArrayView values, Integer id, bool is_blocked)
virtual Request send (RealConstArrayView values, Integer id, bool is_blocked)
virtual Request recv (ByteArrayView values, Integer id, bool is_blocked)
virtual Request recv (Int32ArrayView values, Integer id, bool is_blocked)
virtual Request recv (Int64ArrayView values, Integer id, bool is_blocked)
virtual Request recv (RealArrayView values, Integer id, bool is_blocked)
virtual void sendRecv (ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer id)
virtual void sendRecv (Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer id)
virtual void sendRecv (Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer id)
virtual void sendRecv (RealConstArrayView send_buf, RealArrayView recv_buf, Integer id)
virtual void allToAll (ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer count)
virtual void allToAll (Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer count)
virtual void allToAll (Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer count)
virtual void allToAll (RealConstArrayView send_buf, RealArrayView recv_buf, Integer count)
virtual Int32 scan (eReduceType rt, Int32 v)
virtual Int64 scan (eReduceType rt, Int64 v)
virtual Real scan (eReduceType rt, Real v)
virtual void scan (eReduceType rt, Int32ArrayView v)
virtual void scan (eReduceType rt, Int64ArrayView v)
virtual void scan (eReduceType rt, RealArrayView v)
Public Member Functions inherited from Arcane::IParallelSuperMng
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
 Creates a parallelism manager for all allocated cores.
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.

Protected Member Functions

void _setDispatchers (IParallelDispatchT< Byte > *b, IParallelDispatchT< Int32 > *i32, IParallelDispatchT< Int64 > *i64, IParallelDispatchT< Real > *r)
void _finalize ()

Private Attributes

IParallelDispatchT< Byte > * m_byte = nullptr
IParallelDispatchT< Int32 > * m_int32 = nullptr
IParallelDispatchT< Int64 > * m_int64 = nullptr
IParallelDispatchT< Real > * m_real = nullptr

Additional Inherited Members

Public Types inherited from Arcane::IParallelSuperMng
typedef Parallel::Request Request
typedef Parallel::eReduceType eReduceType

Detailed Description

Redirects the message management of sub-domains based on the argument type.

Definition at line 34 of file ParallelSuperMngDispatcher.h.

Constructor & Destructor Documentation

◆ ParallelSuperMngDispatcher()

Arcane::ParallelSuperMngDispatcher::ParallelSuperMngDispatcher ( )

Definition at line 31 of file ParallelSuperMngDispatcher.cc.

◆ ~ParallelSuperMngDispatcher()

Arcane::ParallelSuperMngDispatcher::~ParallelSuperMngDispatcher ( )
override

Definition at line 43 of file ParallelSuperMngDispatcher.cc.

Member Function Documentation

◆ _finalize()

void Arcane::ParallelSuperMngDispatcher::_finalize ( )
protected

Definition at line 68 of file ParallelSuperMngDispatcher.cc.

◆ _setDispatchers()

void Arcane::ParallelSuperMngDispatcher::_setDispatchers ( IParallelDispatchT< Byte > * b,
IParallelDispatchT< Int32 > * i32,
IParallelDispatchT< Int64 > * i64,
IParallelDispatchT< Real > * r )
protected

Definition at line 55 of file ParallelSuperMngDispatcher.cc.

◆ allGather() [1/4]

void Arcane::ParallelSuperMngDispatcher::allGather ( ByteConstArrayView send_buf,
ByteArrayView recv_buf )
virtual

Definition at line 84 of file ParallelSuperMngDispatcher.cc.

◆ allGather() [2/4]

void Arcane::ParallelSuperMngDispatcher::allGather ( Int32ConstArrayView send_buf,
Int32ArrayView recv_buf )
virtual

Definition at line 89 of file ParallelSuperMngDispatcher.cc.

◆ allGather() [3/4]

void Arcane::ParallelSuperMngDispatcher::allGather ( Int64ConstArrayView send_buf,
Int64ArrayView recv_buf )
virtual

Definition at line 94 of file ParallelSuperMngDispatcher.cc.

◆ allGather() [4/4]

void Arcane::ParallelSuperMngDispatcher::allGather ( RealConstArrayView send_buf,
RealArrayView recv_buf )
virtual

Definition at line 99 of file ParallelSuperMngDispatcher.cc.

◆ allToAll() [1/4]

void Arcane::ParallelSuperMngDispatcher::allToAll ( ByteConstArrayView send_buf,
ByteArrayView recv_buf,
Integer count )
virtual

Definition at line 263 of file ParallelSuperMngDispatcher.cc.

◆ allToAll() [2/4]

void Arcane::ParallelSuperMngDispatcher::allToAll ( Int32ConstArrayView send_buf,
Int32ArrayView recv_buf,
Integer count )
virtual

Definition at line 268 of file ParallelSuperMngDispatcher.cc.

◆ allToAll() [3/4]

void Arcane::ParallelSuperMngDispatcher::allToAll ( Int64ConstArrayView send_buf,
Int64ArrayView recv_buf,
Integer count )
virtual

Definition at line 273 of file ParallelSuperMngDispatcher.cc.

◆ allToAll() [4/4]

void Arcane::ParallelSuperMngDispatcher::allToAll ( RealConstArrayView send_buf,
RealArrayView recv_buf,
Integer count )
virtual

Definition at line 278 of file ParallelSuperMngDispatcher.cc.

◆ broadcast() [1/4]

void Arcane::ParallelSuperMngDispatcher::broadcast ( ByteArrayView send_buf,
Integer process_id )
overridevirtual

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.

Implements Arcane::IParallelSuperMng.

Definition at line 137 of file ParallelSuperMngDispatcher.cc.

◆ broadcast() [2/4]

void Arcane::ParallelSuperMngDispatcher::broadcast ( Int32ArrayView send_buf,
Integer id )
overridevirtual

Implements Arcane::IParallelSuperMng.

Definition at line 142 of file ParallelSuperMngDispatcher.cc.

◆ broadcast() [3/4]

void Arcane::ParallelSuperMngDispatcher::broadcast ( Int64ArrayView send_buf,
Integer id )
overridevirtual

Implements Arcane::IParallelSuperMng.

Definition at line 147 of file ParallelSuperMngDispatcher.cc.

◆ broadcast() [4/4]

void Arcane::ParallelSuperMngDispatcher::broadcast ( RealArrayView send_buf,
Integer id )
overridevirtual

Implements Arcane::IParallelSuperMng.

Definition at line 152 of file ParallelSuperMngDispatcher.cc.

◆ recv() [1/8]

void Arcane::ParallelSuperMngDispatcher::recv ( ByteArrayView values,
Integer id )
virtual

Definition at line 179 of file ParallelSuperMngDispatcher.cc.

◆ recv() [2/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::recv ( ByteArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 221 of file ParallelSuperMngDispatcher.cc.

◆ recv() [3/8]

void Arcane::ParallelSuperMngDispatcher::recv ( Int32ArrayView values,
Integer id )
virtual

Definition at line 184 of file ParallelSuperMngDispatcher.cc.

◆ recv() [4/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::recv ( Int32ArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 226 of file ParallelSuperMngDispatcher.cc.

◆ recv() [5/8]

void Arcane::ParallelSuperMngDispatcher::recv ( Int64ArrayView values,
Integer id )
virtual

Definition at line 189 of file ParallelSuperMngDispatcher.cc.

◆ recv() [6/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::recv ( Int64ArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 231 of file ParallelSuperMngDispatcher.cc.

◆ recv() [7/8]

void Arcane::ParallelSuperMngDispatcher::recv ( RealArrayView values,
Integer id )
virtual

Definition at line 194 of file ParallelSuperMngDispatcher.cc.

◆ recv() [8/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::recv ( RealArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 236 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [1/6]

Int32 Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
Int32 v )
virtual

Definition at line 105 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [2/6]

void Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
Int32ArrayView v )
virtual

Definition at line 121 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [3/6]

Int64 Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
Int64 v )
virtual

Definition at line 110 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [4/6]

void Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
Int64ArrayView v )
virtual

Definition at line 126 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [5/6]

Real Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
Real v )
virtual

Definition at line 115 of file ParallelSuperMngDispatcher.cc.

◆ reduce() [6/6]

void Arcane::ParallelSuperMngDispatcher::reduce ( eReduceType rt,
RealArrayView v )
virtual

Definition at line 131 of file ParallelSuperMngDispatcher.cc.

◆ scan() [1/6]

Int32 Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
Int32 v )
virtual

Definition at line 284 of file ParallelSuperMngDispatcher.cc.

◆ scan() [2/6]

void Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
Int32ArrayView v )
virtual

Definition at line 300 of file ParallelSuperMngDispatcher.cc.

◆ scan() [3/6]

Int64 Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
Int64 v )
virtual

Definition at line 289 of file ParallelSuperMngDispatcher.cc.

◆ scan() [4/6]

void Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
Int64ArrayView v )
virtual

Definition at line 305 of file ParallelSuperMngDispatcher.cc.

◆ scan() [5/6]

Real Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
Real v )
virtual

Definition at line 294 of file ParallelSuperMngDispatcher.cc.

◆ scan() [6/6]

void Arcane::ParallelSuperMngDispatcher::scan ( eReduceType rt,
RealArrayView v )
virtual

Definition at line 310 of file ParallelSuperMngDispatcher.cc.

◆ send() [1/8]

void Arcane::ParallelSuperMngDispatcher::send ( ByteConstArrayView values,
Integer id )
virtual

Definition at line 158 of file ParallelSuperMngDispatcher.cc.

◆ send() [2/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::send ( ByteConstArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 200 of file ParallelSuperMngDispatcher.cc.

◆ send() [3/8]

void Arcane::ParallelSuperMngDispatcher::send ( Int32ConstArrayView values,
Integer id )
virtual

Definition at line 163 of file ParallelSuperMngDispatcher.cc.

◆ send() [4/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::send ( Int32ConstArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 205 of file ParallelSuperMngDispatcher.cc.

◆ send() [5/8]

void Arcane::ParallelSuperMngDispatcher::send ( Int64ConstArrayView values,
Integer id )
virtual

Definition at line 168 of file ParallelSuperMngDispatcher.cc.

◆ send() [6/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::send ( Int64ConstArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 210 of file ParallelSuperMngDispatcher.cc.

◆ send() [7/8]

void Arcane::ParallelSuperMngDispatcher::send ( RealConstArrayView values,
Integer id )
virtual

Definition at line 173 of file ParallelSuperMngDispatcher.cc.

◆ send() [8/8]

Parallel::Request Arcane::ParallelSuperMngDispatcher::send ( RealConstArrayView values,
Integer id,
bool is_blocked )
virtual

Definition at line 215 of file ParallelSuperMngDispatcher.cc.

◆ sendRecv() [1/4]

void Arcane::ParallelSuperMngDispatcher::sendRecv ( ByteConstArrayView send_buf,
ByteArrayView recv_buf,
Integer id )
virtual

Definition at line 242 of file ParallelSuperMngDispatcher.cc.

◆ sendRecv() [2/4]

void Arcane::ParallelSuperMngDispatcher::sendRecv ( Int32ConstArrayView send_buf,
Int32ArrayView recv_buf,
Integer id )
virtual

Definition at line 247 of file ParallelSuperMngDispatcher.cc.

◆ sendRecv() [3/4]

void Arcane::ParallelSuperMngDispatcher::sendRecv ( Int64ConstArrayView send_buf,
Int64ArrayView recv_buf,
Integer id )
virtual

Definition at line 252 of file ParallelSuperMngDispatcher.cc.

◆ sendRecv() [4/4]

void Arcane::ParallelSuperMngDispatcher::sendRecv ( RealConstArrayView send_buf,
RealArrayView recv_buf,
Integer id )
virtual

Definition at line 257 of file ParallelSuperMngDispatcher.cc.

Member Data Documentation

◆ m_byte

IParallelDispatchT<Byte>* Arcane::ParallelSuperMngDispatcher::m_byte = nullptr
private

Definition at line 108 of file ParallelSuperMngDispatcher.h.

◆ m_int32

IParallelDispatchT<Int32>* Arcane::ParallelSuperMngDispatcher::m_int32 = nullptr
private

Definition at line 109 of file ParallelSuperMngDispatcher.h.

◆ m_int64

IParallelDispatchT<Int64>* Arcane::ParallelSuperMngDispatcher::m_int64 = nullptr
private

Definition at line 110 of file ParallelSuperMngDispatcher.h.

◆ m_real

IParallelDispatchT<Real>* Arcane::ParallelSuperMngDispatcher::m_real = nullptr
private

Definition at line 111 of file ParallelSuperMngDispatcher.h.


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