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

Classes

class  DefaultControlDispatcher
 Implementation of Arccore::MessagePassing::IControlDispatcher. More...
class  SerializeDispatcher

Public Member Functions

 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS ()
 ParallelMngDispatcher (const ParallelMngDispatcherBuildInfo &bi)
 ParallelMngDispatcher (const ParallelMngDispatcher &)=delete
 ParallelMngDispatcher (ParallelMngDispatcher &&)=delete
ParallelMngDispatcher & operator= (ParallelMngDispatcher &&)=delete
ParallelMngDispatcher & operator= (const ParallelMngDispatcher &)=delete
IMessagePassingMngmessagePassingMng () const override
 Associated Arccore message passing manager.
void broadcastString (String &str, Int32 rank) override
void broadcastMemoryBuffer (ByteArray &bytes, Int32 rank) override
 Performs a broadcast of a memory region.
void allGather (ISerializer *send_serializer, ISerializer *recv_serializer) override
 Redefines allGather here to avoid hiding the symbol in derived classes.
 ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_char, char) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_unsigned_char
unsigned char ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_signed_char, signed char) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_short
unsigned char short ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_unsigned_short, unsigned short) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_int
unsigned char short int ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_unsigned_int, unsigned int) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_long
unsigned char short int long ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_unsigned_long, unsigned long) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_long_long
unsigned char short int long long long ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_unsigned_long_long, unsigned long long) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_float
unsigned char short int long long long float ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_double, double) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_long_double
unsigned char short int long long long float long double ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_apreal, APReal) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_real2
unsigned char short int long long long float long double Real2 ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_real3, Real3) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_real2x2
unsigned char short int long long long float long double Real2 Real2x2 ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE (m_real3x3, Real3x3) ARCANE_PARALLEL_MANAGER_DISPATCH_PROTOTYPE(m_hpreal
virtual IParallelDispatchT< char > * dispatcher (char *)
virtual IParallelDispatchT< signed char > * dispatcher (signed char *)
virtual IParallelDispatchT< unsigned char > * dispatcher (unsigned char *)
virtual IParallelDispatchT< short > * dispatcher (short *)
virtual IParallelDispatchT< unsigned short > * dispatcher (unsigned short *)
virtual IParallelDispatchT< int > * dispatcher (int *)
virtual IParallelDispatchT< unsigned int > * dispatcher (unsigned int *)
virtual IParallelDispatchT< long > * dispatcher (long *)
virtual IParallelDispatchT< unsigned long > * dispatcher (unsigned long *)
virtual IParallelDispatchT< long long > * dispatcher (long long *)
virtual IParallelDispatchT< unsigned long long > * dispatcher (unsigned long long *)
virtual IParallelDispatchT< APReal > * dispatcher (APReal *)
virtual IParallelDispatchT< float > * dispatcher (float *)
virtual IParallelDispatchT< double > * dispatcher (double *)
virtual IParallelDispatchT< long double > * dispatcher (long double *)
virtual IParallelDispatchT< Real2 > * dispatcher (Real2 *)
virtual IParallelDispatchT< Real3 > * dispatcher (Real3 *)
virtual IParallelDispatchT< Real2x2 > * dispatcher (Real2x2 *)
virtual IParallelDispatchT< Real3x3 > * dispatcher (Real3x3 *)
virtual IParallelDispatchT< HPReal > * dispatcher (HPReal *)
template<class CreatorType>
void createDispatchers (CreatorType &ct)
ITimeStatstimeStats () const override
 Associated statistics manager (can be null).
void setTimeStats (ITimeStats *ts) override
 Sets the statistics manager.
ITimeMetricCollector * timeMetricCollector () const override
 Arccore temporal statistics collector (can be null).
UniqueArray< IntegerwaitSomeRequests (ArrayView< Request > requests) override
 Blocks while waiting for one of the rvalues requests to complete.
UniqueArray< IntegertestSomeRequests (ArrayView< Request > requests) override
 Tests if one of the rvalues requests is complete.
void processMessages (ConstArrayView< ISerializeMessage * > messages) override
 Executes the operations of messages messages.
void processMessages (ConstArrayView< Ref< ISerializeMessage > > messages) override
 Executes the operations of messages messages.
ISerializeMessageListcreateSerializeMessageList () final
 Creates a list to manage 'ISerializeMessage'.
Ref< ISerializeMessageListcreateSerializeMessageListRef () final
 Creates a list to manage 'ISerializeMessage'.
IParallelMngcreateSubParallelMng (Int32ConstArrayView kept_ranks) final
 Creates a new parallelism manager for a subset of ranks.
Ref< IParallelMngcreateSubParallelMngRef (Int32ConstArrayView kept_ranks) override
 Creates a new parallelism manager for a subset of ranks.
IParallelMngInternal * _internalApi () override
 Internal Arcane API.
Public Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()
Public Member Functions inherited from Arcane::IParallelMng
virtual ~IParallelMng ()=default
 Releases resources.
virtual void build ()=0
 Constructs the instance.
virtual bool isParallel () const =0
 Returns true if the execution is parallel.
virtual Int32 commRank () const =0
 Rank of this instance in the communicator.
virtual Int32 commSize () const =0
 Number of instances in the communicator.
virtual void * getMPICommunicator ()=0
 Address of the MPI communicator associated with this manager.
virtual ARCANE_DEPRECATED_120 void * mpiCommunicator ()
 Address of the MPI communicator associated with this manager.
virtual Parallel::Communicator communicator () const =0
 MPI communicator associated with this manager.
virtual Parallel::Communicator machineCommunicator () const
 MPI communicator derived from the communicator communicator() gathering all processes of the compute node.
virtual bool isThreadImplementation () const =0
 Indicates if the implementation uses threads.
virtual bool isHybridImplementation () const =0
 Indicates if the implementation uses hybrid mode.
virtual ITraceMngtraceMng () const =0
 Trace manager.
virtual IThreadMngthreadMng () const =0
 Thread manager.
virtual ITimerMngtimerMng () const =0
 Timer manager.
virtual IIOMngioMng () const =0
 I/O manager.
virtual IParallelMngworldParallelMng () const =0
 Parallelism manager over all allocated resources.
virtual void initialize ()=0
 Initializes the parallelism manager.
virtual bool isMasterIO () const =0
 true if the instance is a master I/O manager.
virtual Integer masterIORank () const =0
 Rank of the instance managing I/O (for which isMasterIO() is true).
virtual void allGather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf)=0
 Performs an all-gather operation across all processors. This is a collective operation. The array send_buf must have the same size, denoted n, for all processors, and the array recv_buf must have a size equal to the number of processors multiplied by n.
virtual void allGather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0
virtual void allGather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0
virtual void allGather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0
virtual void allGather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0
virtual void allGather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0
virtual void allGather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0
virtual void allGather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0
virtual void allGather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0
virtual void allGather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0
virtual void allGather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0
virtual void allGather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0
virtual void allGather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0
virtual void allGather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0
virtual void allGather (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf)=0
virtual void allGather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0
virtual void allGather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0
virtual void allGather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0
virtual void allGather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0
virtual void allGather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=0
virtual void gather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Int32 rank)=0
 Performs a gather operation onto a processor. This is a collective operation. The array send_buf must have the same size, denoted n, for all processors, and the array recv_buf for processor rank must have a size equal to the number of processors multiplied by n. This array recv_buf is unused for other ranks than rank.
virtual void gather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Int32 rank)=0
virtual void gather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< char > send_buf, Array< char > &recv_buf, Int32 rank)=0
 Performs an all-gather operation across all processors.
virtual void gatherVariable (ConstArrayView< signed char > send_buf, Array< signed char > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< unsigned char > send_buf, Array< unsigned char > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< short > send_buf, Array< short > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< unsigned short > send_buf, Array< unsigned short > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< int > send_buf, Array< int > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< unsigned int > send_buf, Array< unsigned int > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< long > send_buf, Array< long > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< unsigned long > send_buf, Array< unsigned long > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< long long > send_buf, Array< long long > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< unsigned long long > send_buf, Array< unsigned long long > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< float > send_buf, Array< float > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< double > send_buf, Array< double > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< long double > send_buf, Array< long double > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< APReal > send_buf, Array< APReal > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< Real2 > send_buf, Array< Real2 > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< Real3 > send_buf, Array< Real3 > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< Real2x2 > send_buf, Array< Real2x2 > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< Real3x3 > send_buf, Array< Real3x3 > &recv_buf, Int32 rank)=0
virtual void gatherVariable (ConstArrayView< HPReal > send_buf, Array< HPReal > &recv_buf, Int32 rank)=0
virtual void allGatherVariable (ConstArrayView< char > send_buf, Array< char > &recv_buf)=0
 Performs an all-gather operation across all processors.
virtual void allGatherVariable (ConstArrayView< signed char > send_buf, Array< signed char > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< unsigned char > send_buf, Array< unsigned char > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< short > send_buf, Array< short > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< unsigned short > send_buf, Array< unsigned short > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< int > send_buf, Array< int > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< unsigned int > send_buf, Array< unsigned int > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< long > send_buf, Array< long > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< unsigned long > send_buf, Array< unsigned long > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< long long > send_buf, Array< long long > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< unsigned long long > send_buf, Array< unsigned long long > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< float > send_buf, Array< float > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< double > send_buf, Array< double > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< long double > send_buf, Array< long double > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< APReal > send_buf, Array< APReal > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< Real2 > send_buf, Array< Real2 > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< Real3 > send_buf, Array< Real3 > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< Real2x2 > send_buf, Array< Real2x2 > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< Real3x3 > send_buf, Array< Real3x3 > &recv_buf)=0
virtual void allGatherVariable (ConstArrayView< HPReal > send_buf, Array< HPReal > &recv_buf)=0
virtual void scatterVariable (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer root)=0
 Scatters an array across multiple processors.
virtual void scatterVariable (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer root)=0
virtual void scatterVariable (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer root)=0
virtual char reduce (eReduceType rt, char v)=0
 Performs a reduction of type rt on the real v and returns the value.
virtual signed char reduce (eReduceType rt, signed char v)=0
virtual unsigned char reduce (eReduceType rt, unsigned char v)=0
virtual short reduce (eReduceType rt, short v)=0
virtual unsigned short reduce (eReduceType rt, unsigned short v)=0
virtual int reduce (eReduceType rt, int v)=0
virtual unsigned int reduce (eReduceType rt, unsigned int v)=0
virtual long reduce (eReduceType rt, long v)=0
virtual unsigned long reduce (eReduceType rt, unsigned long v)=0
virtual long long reduce (eReduceType rt, long long v)=0
virtual unsigned long long reduce (eReduceType rt, unsigned long long v)=0
virtual float reduce (eReduceType rt, float v)=0
virtual double reduce (eReduceType rt, double v)=0
virtual long double reduce (eReduceType rt, long double v)=0
virtual APReal reduce (eReduceType rt, APReal v)=0
virtual Real2 reduce (eReduceType rt, Real2 v)=0
virtual Real3 reduce (eReduceType rt, Real3 v)=0
virtual Real2x2 reduce (eReduceType rt, Real2x2 v)=0
virtual Real3x3 reduce (eReduceType rt, Real3x3 v)=0
virtual HPReal reduce (eReduceType rt, HPReal v)=0
virtual void computeMinMaxSum (char val, char &min_val, char &max_val, char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
 Calculates the sum, min, and max of a value in one operation.
virtual void computeMinMaxSum (signed char val, signed char &min_val, signed char &max_val, signed char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (unsigned char val, unsigned char &min_val, unsigned char &max_val, unsigned char &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (short val, short &min_val, short &max_val, short &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (unsigned short val, unsigned short &min_val, unsigned short &max_val, unsigned short &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (int val, int &min_val, int &max_val, int &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (unsigned int val, unsigned int &min_val, unsigned int &max_val, unsigned int &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (long val, long &min_val, long &max_val, long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (unsigned long val, unsigned long &min_val, unsigned long &max_val, unsigned long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (long long val, long long &min_val, long long &max_val, long long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (unsigned long long val, unsigned long long &min_val, unsigned long long &max_val, unsigned long long &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (float val, float &min_val, float &max_val, float &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (double val, double &min_val, double &max_val, double &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (long double val, long double &min_val, long double &max_val, long double &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (APReal val, APReal &min_val, APReal &max_val, APReal &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (Real2 val, Real2 &min_val, Real2 &max_val, Real2 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (Real3 val, Real3 &min_val, Real3 &max_val, Real3 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (Real2x2 val, Real2x2 &min_val, Real2x2 &max_val, Real2x2 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (Real3x3 val, Real3x3 &min_val, Real3x3 &max_val, Real3x3 &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (HPReal val, HPReal &min_val, HPReal &max_val, HPReal &sum_val, Int32 &min_rank, Int32 &max_rank)=0
virtual void computeMinMaxSum (ConstArrayView< char > values, ArrayView< char > min_values, ArrayView< char > max_values, ArrayView< char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
 Calculates the sum, min, and max of a value in one operation.
virtual void computeMinMaxSum (ConstArrayView< signed char > values, ArrayView< signed char > min_values, ArrayView< signed char > max_values, ArrayView< signed char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< unsigned char > values, ArrayView< unsigned char > min_values, ArrayView< unsigned char > max_values, ArrayView< unsigned char > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< short > values, ArrayView< short > min_values, ArrayView< short > max_values, ArrayView< short > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< unsigned short > values, ArrayView< unsigned short > min_values, ArrayView< unsigned short > max_values, ArrayView< unsigned short > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< int > values, ArrayView< int > min_values, ArrayView< int > max_values, ArrayView< int > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< unsigned int > values, ArrayView< unsigned int > min_values, ArrayView< unsigned int > max_values, ArrayView< unsigned int > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< long > values, ArrayView< long > min_values, ArrayView< long > max_values, ArrayView< long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< unsigned long > values, ArrayView< unsigned long > min_values, ArrayView< unsigned long > max_values, ArrayView< unsigned long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< long long > values, ArrayView< long long > min_values, ArrayView< long long > max_values, ArrayView< long long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< unsigned long long > values, ArrayView< unsigned long long > min_values, ArrayView< unsigned long long > max_values, ArrayView< unsigned long long > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< float > values, ArrayView< float > min_values, ArrayView< float > max_values, ArrayView< float > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< double > values, ArrayView< double > min_values, ArrayView< double > max_values, ArrayView< double > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< long double > values, ArrayView< long double > min_values, ArrayView< long double > max_values, ArrayView< long double > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< APReal > values, ArrayView< APReal > min_values, ArrayView< APReal > max_values, ArrayView< APReal > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< Real2 > values, ArrayView< Real2 > min_values, ArrayView< Real2 > max_values, ArrayView< Real2 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< Real3 > values, ArrayView< Real3 > min_values, ArrayView< Real3 > max_values, ArrayView< Real3 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< Real2x2 > values, ArrayView< Real2x2 > min_values, ArrayView< Real2x2 > max_values, ArrayView< Real2x2 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< Real3x3 > values, ArrayView< Real3x3 > min_values, ArrayView< Real3x3 > max_values, ArrayView< Real3x3 > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void computeMinMaxSum (ConstArrayView< HPReal > values, ArrayView< HPReal > min_values, ArrayView< HPReal > max_values, ArrayView< HPReal > sum_values, ArrayView< Int32 > min_ranks, ArrayView< Int32 > max_ranks)=0
virtual void reduce (eReduceType rt, ArrayView< char > v)=0
 Performs the reduction of type rt on array v.
virtual void reduce (eReduceType rt, ArrayView< signed char > v)=0
virtual void reduce (eReduceType rt, ArrayView< unsigned char > v)=0
virtual void reduce (eReduceType rt, ArrayView< short > v)=0
virtual void reduce (eReduceType rt, ArrayView< unsigned short > v)=0
virtual void reduce (eReduceType rt, ArrayView< int > v)=0
virtual void reduce (eReduceType rt, ArrayView< unsigned int > v)=0
virtual void reduce (eReduceType rt, ArrayView< long > v)=0
virtual void reduce (eReduceType rt, ArrayView< unsigned long > v)=0
virtual void reduce (eReduceType rt, ArrayView< long long > v)=0
virtual void reduce (eReduceType rt, ArrayView< unsigned long long > v)=0
virtual void reduce (eReduceType rt, ArrayView< float > v)=0
virtual void reduce (eReduceType rt, ArrayView< double > v)=0
virtual void reduce (eReduceType rt, ArrayView< long double > v)=0
virtual void reduce (eReduceType rt, ArrayView< APReal > v)=0
virtual void reduce (eReduceType rt, ArrayView< Real2 > v)=0
virtual void reduce (eReduceType rt, ArrayView< Real3 > v)=0
virtual void reduce (eReduceType rt, ArrayView< Real2x2 > v)=0
virtual void reduce (eReduceType rt, ArrayView< Real3x3 > v)=0
virtual void reduce (eReduceType rt, ArrayView< HPReal > v)=0
virtual void broadcast (ArrayView< char > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< signed char > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< unsigned char > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< short > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< unsigned short > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< int > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< unsigned int > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< long > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< unsigned long > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< long long > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< unsigned long long > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< float > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< double > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< long double > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< APReal > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< Real2 > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< Real3 > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< Real2x2 > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< Real3x3 > send_buf, Int32 rank)=0
virtual void broadcast (ArrayView< HPReal > send_buf, Int32 rank)=0
virtual void broadcastSerializer (ISerializer *values, Int32 rank)=0
virtual void send (ConstArrayView< char > values, Int32 rank)=0
virtual void send (ConstArrayView< signed char > values, Int32 rank)=0
virtual void send (ConstArrayView< unsigned char > values, Int32 rank)=0
virtual void send (ConstArrayView< short > values, Int32 rank)=0
virtual void send (ConstArrayView< unsigned short > values, Int32 rank)=0
virtual void send (ConstArrayView< int > values, Int32 rank)=0
virtual void send (ConstArrayView< unsigned int > values, Int32 rank)=0
virtual void send (ConstArrayView< long > values, Int32 rank)=0
virtual void send (ConstArrayView< unsigned long > values, Int32 rank)=0
virtual void send (ConstArrayView< long long > values, Int32 rank)=0
virtual void send (ConstArrayView< unsigned long long > values, Int32 rank)=0
virtual void send (ConstArrayView< float > values, Int32 rank)=0
virtual void send (ConstArrayView< double > values, Int32 rank)=0
virtual void send (ConstArrayView< long double > values, Int32 rank)=0
virtual void send (ConstArrayView< APReal > values, Int32 rank)=0
virtual void send (ConstArrayView< Real2 > values, Int32 rank)=0
virtual void send (ConstArrayView< Real3 > values, Int32 rank)=0
virtual void send (ConstArrayView< Real2x2 > values, Int32 rank)=0
virtual void send (ConstArrayView< Real3x3 > values, Int32 rank)=0
virtual void send (ConstArrayView< HPReal > values, Int32 rank)=0
virtual void sendSerializer (ISerializer *values, Int32 rank)=0
virtual Parallel::Request sendSerializer (ISerializer *values, Int32 rank, ByteArray &bytes)=0
virtual ISerializeMessagecreateSendSerializer (Int32 rank)=0
 Creates a non-blocking message to send serialized data to rank rank.
virtual void recv (ArrayView< char > values, Int32 rank)=0
virtual void recv (ArrayView< signed char > values, Int32 rank)=0
virtual void recv (ArrayView< unsigned char > values, Int32 rank)=0
virtual void recv (ArrayView< short > values, Int32 rank)=0
virtual void recv (ArrayView< unsigned short > values, Int32 rank)=0
virtual void recv (ArrayView< int > values, Int32 rank)=0
virtual void recv (ArrayView< unsigned int > values, Int32 rank)=0
virtual void recv (ArrayView< long > values, Int32 rank)=0
virtual void recv (ArrayView< unsigned long > values, Int32 rank)=0
virtual void recv (ArrayView< long long > values, Int32 rank)=0
virtual void recv (ArrayView< unsigned long long > values, Int32 rank)=0
virtual void recv (ArrayView< float > values, Int32 rank)=0
virtual void recv (ArrayView< double > values, Int32 rank)=0
virtual void recv (ArrayView< long double > values, Int32 rank)=0
virtual void recv (ArrayView< APReal > values, Int32 rank)=0
virtual void recv (ArrayView< Real2 > values, Int32 rank)=0
virtual void recv (ArrayView< Real3 > values, Int32 rank)=0
virtual void recv (ArrayView< Real2x2 > values, Int32 rank)=0
virtual void recv (ArrayView< Real3x3 > values, Int32 rank)=0
virtual void recv (ArrayView< HPReal > values, Int32 rank)=0
virtual void recvSerializer (ISerializer *values, Int32 rank)=0
virtual ISerializeMessagecreateReceiveSerializer (Int32 rank)=0
 Creates a non-blocking message to receive serialized data from rank rank.
virtual void freeRequests (ArrayView< Parallel::Request > requests)=0
 Frees the requests.
virtual Request send (ConstArrayView< char > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< signed char > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< unsigned char > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< short > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< unsigned short > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< int > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< unsigned int > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< long > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< unsigned long > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< long long > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< unsigned long long > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< float > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< double > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< long double > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< APReal > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< Real2 > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< Real3 > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< Real2x2 > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< Real3x3 > values, Int32 rank, bool is_blocking)=0
virtual Request send (ConstArrayView< HPReal > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< char > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< signed char > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< unsigned char > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< short > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< unsigned short > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< int > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< unsigned int > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< long > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< unsigned long > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< long long > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< unsigned long long > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< float > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< double > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< long double > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< APReal > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< Real2 > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< Real3 > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< Real2x2 > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< Real3x3 > values, Int32 rank, bool is_blocking)=0
virtual Request recv (ArrayView< HPReal > values, Int32 rank, bool is_blocking)=0
virtual Request receive (Span< char > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< signed char > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< unsigned char > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< short > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< unsigned short > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< int > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< unsigned int > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< long > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< unsigned long > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< long long > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< unsigned long long > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< float > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< double > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< long double > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< APReal > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< Real2 > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< Real3 > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< Real2x2 > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< Real3x3 > values, const PointToPointMessageInfo &message)=0
virtual Request receive (Span< HPReal > values, const PointToPointMessageInfo &message)=0
virtual Request receiveSerializer (ISerializer *values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const char > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const signed char > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const unsigned char > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const short > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const unsigned short > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const int > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const unsigned int > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const long > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const unsigned long > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const long long > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const unsigned long long > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const float > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const double > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const long double > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const APReal > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const Real2 > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const Real3 > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const Real2x2 > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const Real3x3 > values, const PointToPointMessageInfo &message)=0
virtual Request send (Span< const HPReal > values, const PointToPointMessageInfo &message)=0
virtual Request sendSerializer (const ISerializer *values, const PointToPointMessageInfo &message)=0
virtual MessageId probe (const PointToPointMessageInfo &message)=0
 Probes if messages are available.
virtual MessageSourceInfo legacyProbe (const PointToPointMessageInfo &message)=0
 Probes if messages are available.
virtual void sendRecv (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Int32 rank)=0
virtual void sendRecv (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Int32 rank)=0
virtual void allToAll (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< APReal > send_buf, ArrayView< APReal > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer count)=0
virtual void allToAll (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer count)=0
virtual void allToAllVariable (ConstArrayView< char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< signed char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< signed char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< unsigned char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< unsigned short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< unsigned int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< unsigned long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< long long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< unsigned long long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< unsigned long long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< float > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< float > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< long double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< APReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< APReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< Real2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< Real3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< Real2x2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2x2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< Real3x3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3x3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void allToAllVariable (ConstArrayView< HPReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< HPReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0
virtual void scan (eReduceType rt, ArrayView< char > v)=0
 Applies a prefix-sum algorithm on the values of v using the rt operation.
virtual void scan (eReduceType rt, ArrayView< signed char > v)=0
virtual void scan (eReduceType rt, ArrayView< unsigned char > v)=0
virtual void scan (eReduceType rt, ArrayView< short > v)=0
virtual void scan (eReduceType rt, ArrayView< unsigned short > v)=0
virtual void scan (eReduceType rt, ArrayView< int > v)=0
virtual void scan (eReduceType rt, ArrayView< unsigned int > v)=0
virtual void scan (eReduceType rt, ArrayView< long > v)=0
virtual void scan (eReduceType rt, ArrayView< unsigned long > v)=0
virtual void scan (eReduceType rt, ArrayView< long long > v)=0
virtual void scan (eReduceType rt, ArrayView< unsigned long long > v)=0
virtual void scan (eReduceType rt, ArrayView< float > v)=0
virtual void scan (eReduceType rt, ArrayView< double > v)=0
virtual void scan (eReduceType rt, ArrayView< long double > v)=0
virtual void scan (eReduceType rt, ArrayView< APReal > v)=0
virtual void scan (eReduceType rt, ArrayView< Real2 > v)=0
virtual void scan (eReduceType rt, ArrayView< Real3 > v)=0
virtual void scan (eReduceType rt, ArrayView< Real2x2 > v)=0
virtual void scan (eReduceType rt, ArrayView< Real3x3 > v)=0
virtual void scan (eReduceType rt, ArrayView< HPReal > v)=0
virtual void barrier ()=0
 Performs a barrier.
virtual void waitAllRequests (ArrayView< Request > rvalues)=0
 Blocks while waiting for the rvalues requests to complete.
virtual IParallelMngsequentialParallelMng ()=0
 Returns a sequential parallelism manager.
virtual Ref< IParallelMngsequentialParallelMngRef ()=0
virtual IGetVariablesValuesParallelOperationcreateGetVariablesValuesOperation ()=0
 Returns an operation to retrieve the values of a variable on the entities of another subdomain.
virtual ITransferValuesParallelOperationcreateTransferValuesOperation ()=0
 Returns an operation to transfer values between subdomains.
virtual IParallelExchangercreateExchanger ()=0
 Returns an interface for transferring messages between processors.
virtual IVariableSynchronizercreateSynchronizer (IItemFamily *family)=0
 Returns an interface for synchronizing variables on the group of the family.
virtual IVariableSynchronizercreateSynchronizer (const ItemGroup &group)=0
 Returns an interface for synchronizing variables on the group.
virtual IParallelTopologycreateTopology ()=0
 Creates an instance containing information about the rank topology of this manager.
virtual IParallelReplicationreplication () const =0
 Replication information.
virtual void setReplication (IParallelReplication *v)=0
virtual Ref< Parallel::IRequestListcreateRequestListRef ()=0
 Creates a request list for this manager.
virtual IStat * stat ()=0
 Statistics manager.
virtual void printStats ()=0
 Prints statistics related to this parallelism manager.
virtual IParallelNonBlockingCollectivenonBlockingCollective () const =0
 Interface for non-blocking collective operations.

Protected Member Functions

MP::MessagePassingMng * _messagePassingMng () const
UniqueArray< Integer_doWaitRequests (ArrayView< Request > requests, Parallel::eWaitType wait_type)
virtual ISerializeMessageList_createSerializeMessageList ()=0
virtual IParallelMng_createSubParallelMng (Int32ConstArrayView kept_ranks)=0
virtual bool _isAcceleratorAware () const
virtual Ref< IParallelMng_createSubParallelMngRef (Int32 color, Int32 key)
TimeMetricAction _communicationTimeMetricAction () const
void _setControlDispatcher (MP::IControlDispatcher *d)
void _setSerializeDispatcher (MP::ISerializeDispatcher *d)

Friends

class ParallelMngInternal

Additional Inherited Members

Public Types inherited from Arcane::IParallelMng
typedef Parallel::Request Request
using PointToPointMessageInfo = Parallel::PointToPointMessageInfo
using MessageId = Parallel::MessageId
using MessageSourceInfo = Parallel::MessageSourceInfo
typedef Parallel::eReduceType eReduceType
typedef Parallel::IStat IStat

Detailed Description

Definition at line 85 of file ParallelMngDispatcher.h.

Constructor & Destructor Documentation

◆ ParallelMngDispatcher()

Arcane::ParallelMngDispatcher::ParallelMngDispatcher ( const ParallelMngDispatcherBuildInfo & bi)
explicit

Definition at line 226 of file ParallelMngDispatcher.cc.

◆ ~ParallelMngDispatcher()

Arcane::ParallelMngDispatcher::~ParallelMngDispatcher ( )
override

Definition at line 260 of file ParallelMngDispatcher.cc.

Member Function Documentation

◆ _communicationTimeMetricAction()

TimeMetricAction Arcane::ParallelMngDispatcher::_communicationTimeMetricAction ( ) const
protected

Definition at line 376 of file ParallelMngDispatcher.cc.

◆ _createSubParallelMngRef()

Ref< IParallelMng > Arcane::ParallelMngDispatcher::_createSubParallelMngRef ( Int32 color,
Int32 key )
protectedvirtual

Definition at line 504 of file ParallelMngDispatcher.cc.

◆ _doWaitRequests()

UniqueArray< Integer > Arcane::ParallelMngDispatcher::_doWaitRequests ( ArrayView< Request > requests,
Parallel::eWaitType wait_type )
protected

Definition at line 513 of file ParallelMngDispatcher.cc.

◆ _internalApi()

IParallelMngInternal * Arcane::ParallelMngDispatcher::_internalApi ( )
inlineoverridevirtual

Internal Arcane API.

Implements Arcane::IParallelMng.

Definition at line 284 of file ParallelMngDispatcher.h.

References _internalApi().

Referenced by _internalApi().

◆ _isAcceleratorAware()

virtual bool Arcane::ParallelMngDispatcher::_isAcceleratorAware ( ) const
inlineprotectedvirtual

Definition at line 292 of file ParallelMngDispatcher.h.

◆ _messagePassingMng()

MP::MessagePassingMng * Arcane::ParallelMngDispatcher::_messagePassingMng ( ) const
inlineprotected

Definition at line 288 of file ParallelMngDispatcher.h.

◆ _setControlDispatcher()

void Arcane::ParallelMngDispatcher::_setControlDispatcher ( MP::IControlDispatcher * d)
protected

Definition at line 294 of file ParallelMngDispatcher.cc.

◆ _setSerializeDispatcher()

void Arcane::ParallelMngDispatcher::_setSerializeDispatcher ( MP::ISerializeDispatcher * d)
protected

Definition at line 304 of file ParallelMngDispatcher.cc.

◆ allGather()

void Arcane::ParallelMngDispatcher::allGather ( ISerializer * send_serializer,
ISerializer * recv_serializer )
overridevirtual

Redefines allGather here to avoid hiding the symbol in derived classes.

Implements Arcane::IParallelMng.

Definition at line 428 of file ParallelMngDispatcher.cc.

References Arcane::MessagePassing::mpAllGather(), and timeStats().

◆ broadcastMemoryBuffer()

void Arcane::ParallelMngDispatcher::broadcastMemoryBuffer ( ByteArray & bytes,
Int32 rank )
overridevirtual

Performs a broadcast of a memory region.

The processor performing the broadcast is given by \id. The array sent is then given by bytes. The processors receiving the array in bytes. This array is allocated automatically, the processors receiving do not need to know the number of bytes to be sent.

Implements Arcane::IParallelMng.

Definition at line 408 of file ParallelMngDispatcher.cc.

References Arcane::IParallelMng::commRank(), Arcane::AbstractArray< T >::largeSize(), and Arcane::Array< T >::resize().

◆ broadcastString()

void Arcane::ParallelMngDispatcher::broadcastString ( String & str,
Int32 rank )
overridevirtual

Implements Arcane::IParallelMng.

Definition at line 385 of file ParallelMngDispatcher.cc.

◆ createDispatchers()

template<class CreatorType>
void Arcane::ParallelMngDispatcher::createDispatchers ( CreatorType & ct)
inline

Definition at line 239 of file ParallelMngDispatcher.h.

◆ createSerializeMessageList()

ISerializeMessageList * Arcane::ParallelMngDispatcher::createSerializeMessageList ( )
finalvirtual

Creates a list to manage 'ISerializeMessage'.

Deprecated
Use createSerializeMessageListRef() instead.

Implements Arcane::IParallelMng.

Definition at line 477 of file ParallelMngDispatcher.cc.

◆ createSerializeMessageListRef()

Ref< ISerializeMessageList > Arcane::ParallelMngDispatcher::createSerializeMessageListRef ( )
finalvirtual

Creates a list to manage 'ISerializeMessage'.

Implements Arcane::IParallelMng.

Definition at line 468 of file ParallelMngDispatcher.cc.

References Arcane::makeRef().

Referenced by processMessages(), and processMessages().

◆ createSubParallelMng()

IParallelMng * Arcane::ParallelMngDispatcher::createSubParallelMng ( Int32ConstArrayView kept_ranks)
finalvirtual

Creates a new parallelism manager for a subset of ranks.

Deprecated
Use createSubParallelMngRef() instead

Implements Arcane::IParallelMng.

Definition at line 486 of file ParallelMngDispatcher.cc.

◆ createSubParallelMngRef()

Ref< IParallelMng > Arcane::ParallelMngDispatcher::createSubParallelMngRef ( Int32ConstArrayView kept_ranks)
overridevirtual

Creates a new parallelism manager for a subset of ranks.

This operation is collective.

This operation allows creating a new manager containing only the kept_ranks of this manager.

If the rank calling this operation is not in kept_ranks, it returns 0.

The returned instance must be destroyed by the delete operator.

Implements Arcane::IParallelMng.

Definition at line 495 of file ParallelMngDispatcher.cc.

References Arcane::makeRef().

◆ messagePassingMng()

IMessagePassingMng * Arcane::ParallelMngDispatcher::messagePassingMng ( ) const
overridevirtual

Associated Arccore message passing manager.

Implements Arcane::IParallelMng.

Definition at line 341 of file ParallelMngDispatcher.cc.

◆ processMessages() [1/2]

void Arcane::ParallelMngDispatcher::processMessages ( ConstArrayView< ISerializeMessage * > messages)
overridevirtual

Executes the operations of messages messages.

Implements Arcane::IParallelMng.

Definition at line 438 of file ParallelMngDispatcher.cc.

References createSerializeMessageListRef(), and timeStats().

◆ processMessages() [2/2]

void Arcane::ParallelMngDispatcher::processMessages ( ConstArrayView< Ref< ISerializeMessage > > messages)
overridevirtual

Executes the operations of messages messages.

Implements Arcane::IParallelMng.

Definition at line 453 of file ParallelMngDispatcher.cc.

References createSerializeMessageListRef(), and timeStats().

◆ setTimeStats()

void Arcane::ParallelMngDispatcher::setTimeStats ( ITimeStats * time_stats)
overridevirtual

Sets the statistics manager.

Implements Arcane::IParallelMng.

Definition at line 363 of file ParallelMngDispatcher.cc.

References Arcane::ITimeStats::metricCollector().

◆ testSomeRequests()

UniqueArray< Integer > Arcane::ParallelMngDispatcher::testSomeRequests ( ArrayView< Request > rvalues)
overridevirtual

Tests if one of the rvalues requests is complete.

Returns an array of indices of completed requests.

Implements Arcane::IParallelMng.

Definition at line 539 of file ParallelMngDispatcher.cc.

References Arcane::MessagePassing::WaitSomeNonBlocking.

◆ timeMetricCollector()

ITimeMetricCollector * Arcane::ParallelMngDispatcher::timeMetricCollector ( ) const
overridevirtual

Arccore temporal statistics collector (can be null).

Implements Arcane::IParallelMng.

Definition at line 350 of file ParallelMngDispatcher.cc.

References Arcane::ITimeStats::metricCollector().

◆ timeStats()

ITimeStats * Arcane::ParallelMngDispatcher::timeStats ( ) const
inlineoverridevirtual

Associated statistics manager (can be null).

Implements Arcane::IParallelMng.

Definition at line 269 of file ParallelMngDispatcher.h.

Referenced by allGather(), processMessages(), and processMessages().

◆ waitSomeRequests()

UniqueArray< Integer > Arcane::ParallelMngDispatcher::waitSomeRequests ( ArrayView< Request > rvalues)
overridevirtual

Blocks while waiting for one of the rvalues requests to complete.

Returns an array of indices of completed requests.

Implements Arcane::IParallelMng.

Definition at line 530 of file ParallelMngDispatcher.cc.

References Arcane::MessagePassing::WaitSome.

◆ ParallelMngInternal

friend class ParallelMngInternal
friend

Definition at line 121 of file ParallelMngDispatcher.h.


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