Interface of the parallelism manager for a subdomain. More...
#include <arcane/core/IParallelMng.h>
Public Types | |
| typedef Parallel::Request | Request |
| using | PointToPointMessageInfo = Parallel::PointToPointMessageInfo |
| using | MessageId = Parallel::MessageId |
| using | MessageSourceInfo = Parallel::MessageSourceInfo |
| typedef Parallel::eReduceType | eReduceType |
| typedef Parallel::IStat | IStat |
Public Member Functions | |
| 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 void | setTimeStats (ITimeStats *time_stats)=0 |
| Sets the statistics manager. | |
| virtual ITimeStats * | timeStats () const =0 |
| Associated statistics manager (can be null). | |
| virtual ITraceMng * | traceMng () const =0 |
| Trace manager. | |
| virtual IThreadMng * | threadMng () const =0 |
| Thread manager. | |
| virtual ITimerMng * | timerMng () const =0 |
| Timer manager. | |
| virtual IIOMng * | ioMng () const =0 |
| I/O manager. | |
| virtual IParallelMng * | worldParallelMng () const =0 |
| Parallelism manager over all allocated resources. | |
| virtual void | initialize ()=0 |
| Initializes the parallelism manager. | |
| virtual ITimeMetricCollector * | timeMetricCollector () const =0 |
| Arccore temporal statistics collector (can be null). | |
| 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). | |
allGather | |
| 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 | allGather (ISerializer *send_serializer, ISerializer *recv_serializer)=0 |
gather | |
| 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 |
allGather variable | |
| 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 |
scalar reduction operations | |
| 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 |
vector reduction operations | |
| 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 |
array reduction operations | |
| 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 |
broadcast operations | |
Sends an array of values to all subdomains. This operation sends the value array send_buf to all subdomains. The array used is the one whose rank (commRank) is rank. All participating subdomains must call this method with the same parameter rank and have an array send_buf containing the same number of elements. | |
| 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 | broadcastString (String &str, Int32 rank)=0 |
| virtual void | broadcastSerializer (ISerializer *values, Int32 rank)=0 |
| virtual void | broadcastMemoryBuffer (ByteArray &bytes, Int32 rank)=0 |
| Performs a broadcast of a memory region. | |
message sending operations | |
Blocking send of an array of values to a subdomain. Sends the values of array values to subdomain rank. The subdomain must perform a corresponding reception (the subdomain number must be that of this handler and the type and the size of the array must correspond) with the function recvValues(). The send is blocking. | |
| 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 ISerializeMessage * | createSendSerializer (Int32 rank)=0 |
| Creates a non-blocking message to send serialized data to rank rank. | |
message receiving operations. | |
| 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 ISerializeMessage * | createReceiveSerializer (Int32 rank)=0 |
| Creates a non-blocking message to receive serialized data from rank rank. | |
| virtual void | processMessages (ConstArrayView< ISerializeMessage * > messages)=0 |
| Executes the operations of messages messages. | |
| virtual void | processMessages (ConstArrayView< Ref< ISerializeMessage > > messages)=0 |
| Executes the operations of messages messages. | |
| virtual void | freeRequests (ArrayView< Parallel::Request > requests)=0 |
| Frees the requests. | |
non-blocking message sending operations | |
Sends an array of values to rank rank. Sends the values of array values to the instance of rank rank. The recipient must perform a corresponding reception (whose rank must be that of this handler and the type and the size of the array must correspond) with the function recvValues(). The send is blocking if is_blocking is true, non-blocking if it is false. In the latter case, the returned request must be used in waitAllRequests() or freed by freeRequests(). | |
| 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 |
non-blocking message receiving operations. | |
| 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 |
generic message receiving operations | |
| 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 |
generic message sending operations | |
| 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 |
allToAll variable | |
Performs a variable allToAll operation | |
| 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 |
scan | |
Performs an algorithm equivalent to MPI_Scan in semantics | |
| 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 ISerializeMessageList * | createSerializeMessageList ()=0 |
| Creates a list to manage 'ISerializeMessage'. | |
| virtual Ref< ISerializeMessageList > | createSerializeMessageListRef ()=0 |
| Creates a list to manage 'ISerializeMessage'. | |
synchronization operations and asynchronous operations | |
| virtual void | barrier ()=0 |
| Performs a barrier. | |
| virtual void | waitAllRequests (ArrayView< Request > rvalues)=0 |
| Blocks while waiting for the rvalues requests to complete. | |
| virtual UniqueArray< Integer > | waitSomeRequests (ArrayView< Request > rvalues)=0 |
| Blocks while waiting for one of the rvalues requests to complete. | |
| virtual UniqueArray< Integer > | testSomeRequests (ArrayView< Request > rvalues)=0 |
| Tests if one of the rvalues requests is complete. | |
Friends | |
| class | ParallelMngUtilsAccessor |
various operations | |
| virtual IParallelMng * | sequentialParallelMng ()=0 |
| Returns a sequential parallelism manager. | |
| virtual Ref< IParallelMng > | sequentialParallelMngRef ()=0 |
| virtual IGetVariablesValuesParallelOperation * | createGetVariablesValuesOperation ()=0 |
| Returns an operation to retrieve the values of a variable on the entities of another subdomain. | |
| virtual ITransferValuesParallelOperation * | createTransferValuesOperation ()=0 |
| Returns an operation to transfer values between subdomains. | |
| virtual IParallelExchanger * | createExchanger ()=0 |
| Returns an interface for transferring messages between processors. | |
| virtual IVariableSynchronizer * | createSynchronizer (IItemFamily *family)=0 |
| Returns an interface for synchronizing variables on the group of the family. | |
| virtual IVariableSynchronizer * | createSynchronizer (const ItemGroup &group)=0 |
| Returns an interface for synchronizing variables on the group. | |
| virtual IParallelTopology * | createTopology ()=0 |
| Creates an instance containing information about the rank topology of this manager. | |
| virtual IParallelReplication * | replication () const =0 |
| Replication information. | |
| virtual void | setReplication (IParallelReplication *v)=0 |
| virtual IParallelMng * | createSubParallelMng (Int32ConstArrayView kept_ranks)=0 |
| Creates a new parallelism manager for a subset of ranks. | |
| virtual Ref< IParallelMng > | createSubParallelMngRef (Int32ConstArrayView kept_ranks)=0 |
| Creates a new parallelism manager for a subset of ranks. | |
| virtual Ref< Parallel::IRequestList > | createRequestListRef ()=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 IParallelNonBlockingCollective * | nonBlockingCollective () const =0 |
| Interface for non-blocking collective operations. | |
| virtual IMessagePassingMng * | messagePassingMng () const =0 |
| Associated Arccore message passing manager. | |
| virtual IParallelMngInternal * | _internalApi ()=0 |
| Internal Arcane API. | |
Interface of the parallelism manager for a subdomain.
This manager provides an interface to access all functionalities related to parallelism.
Several possible implementations exist:
When an operation is collective, all associated managers must participate.
It is possible to create another manager from an instance containing a subset of ranks via createSubParallelMng().
Definition at line 52 of file IParallelMng.h.
Definition at line 70 of file IParallelMng.h.
| typedef Parallel::IStat Arcane::IParallelMng::IStat |
Definition at line 71 of file IParallelMng.h.
| using Arcane::IParallelMng::MessageId = Parallel::MessageId |
Definition at line 68 of file IParallelMng.h.
| using Arcane::IParallelMng::MessageSourceInfo = Parallel::MessageSourceInfo |
Definition at line 69 of file IParallelMng.h.
| using Arcane::IParallelMng::PointToPointMessageInfo = Parallel::PointToPointMessageInfo |
Definition at line 67 of file IParallelMng.h.
| typedef Parallel::Request Arcane::IParallelMng::Request |
Definition at line 66 of file IParallelMng.h.
|
pure virtual |
Implemented in Arcane::ParallelMngDispatcher.
References _internalApi().
Referenced by _internalApi(), Arcane::ParallelMngUtils::isMachineShMemWinAvailable(), and Arcane::Variable::setUsed().
|
pure virtual |
Implemented in Arcane::ParallelMngDispatcher.
|
pure virtual |
Performs an all-gather operation across all processors.
This is a collective operation. The number of elements in the array send_buf may be different for each processor. The array recv_buf contains the concatenation of the send_buf arrays from each processor. This array recv_buf may be resized.
References allGatherVariable().
Referenced by allGatherVariable(), and Arcane::MeshUtils::checkUniqueIdsHashCollective().
|
pure virtual |
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.
Implemented in Arcane::ParallelMngDispatcher.
Referenced by Arcane::Hdf5VariableReaderHelper2::open().
|
pure virtual |
MPI communicator associated with this manager.
The communicator is only valid if MPI is used. It is possible to test its validity by calling the Communicator::isValid() method. If it is valid, it is possible to retrieve its value via a cast:
|
pure virtual |
Calculates the sum, min, and max of a value in one operation.
Calculates the minimum, maximum, and sum of the value val.
| val | value used for the calculation | |
| [out] | min_val | minimum value |
| [out] | max_val | maximum value |
| [out] | sum_val | sum of values |
| [out] | min_rank | rank of the processor having the minimum value |
| [out] | max_rank | rank of the processor having the maximum value |
References computeMinMaxSum().
Referenced by computeMinMaxSum(), computeMinMaxSum(), Arcane::MessagePassing::dumpDateAndMemoryUsage(), and Arcane::ModuleMaster::timeLoopBegin().
|
pure virtual |
Calculates the sum, min, and max of a value in one operation.
Calculates the minimum, maximum, and sum of the value val.
| val | value used for the calculation | |
| [out] | min_val | minimum value |
| [out] | max_val | maximum value |
| [out] | sum_val | sum of values |
| [out] | min_rank | rank of the processor having the minimum value |
| [out] | max_rank | rank of the processor having the maximum value |
References computeMinMaxSum().
|
pure virtual |
Returns an interface for transferring messages between processors.
The returned instance must be destroyed by the delete operator.
References createExchanger().
Referenced by createExchanger().
|
pure virtual |
Returns an operation to retrieve the values of a variable on the entities of another subdomain.
The returned instance must be destroyed by the delete operator.
References createGetVariablesValuesOperation().
Referenced by createGetVariablesValuesOperation().
|
pure virtual |
Creates a non-blocking message to receive serialized data from rank rank.
The message is processed only when processMessages() is called.
References createReceiveSerializer().
Referenced by createReceiveSerializer().
|
pure virtual |
Creates a non-blocking message to send serialized data to rank rank.
The message is processed only when processMessages() is called.
References createSendSerializer().
Referenced by createSendSerializer().
|
pure virtual |
Creates a list to manage 'ISerializeMessage'.
Implemented in Arcane::ParallelMngDispatcher.
References createSerializeMessageList().
Referenced by createSerializeMessageList().
|
pure virtual |
Creates a list to manage 'ISerializeMessage'.
Implemented in Arcane::ParallelMngDispatcher.
References createSerializeMessageListRef().
Referenced by createSerializeMessageListRef().
|
pure virtual |
Creates a new parallelism manager for a subset of ranks.
Implemented in Arcane::ParallelMngDispatcher.
References createSubParallelMng().
Referenced by createSubParallelMng().
|
pure virtual |
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.
Implemented in Arcane::ParallelMngDispatcher.
References createSubParallelMngRef().
Referenced by createSubParallelMngRef().
|
pure virtual |
Returns an interface for synchronizing variables on the group.
The returned instance must be destroyed by the delete operator.
References createSynchronizer().
|
pure virtual |
Returns an interface for synchronizing variables on the group of the family.
The returned instance must be destroyed by the delete operator.
References createSynchronizer().
Referenced by createSynchronizer(), and createSynchronizer().
|
pure virtual |
Creates an instance containing information about the rank topology of this manager.
This operation is collective.
The returned instance must be destroyed by the delete operator.
References createTopology().
Referenced by createTopology().
|
pure virtual |
Returns an operation to transfer values between subdomains.
The returned instance must be destroyed by the delete operator.
References createTransferValuesOperation().
Referenced by createTransferValuesOperation().
|
pure virtual |
Performs an all-gather operation across all processors.
This is a collective operation. The number of elements in the array send_buf may be different for each processor. The array recv_buf contains the concatenation of the send_buf arrays from each processor. This array recv_buf may be resized for the processor of rank rank.
References gatherVariable().
Referenced by Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), and gatherVariable().
|
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*).
References mpiCommunicator().
Referenced by Arcane::Hdf5Utils::HProperty::createFilePropertyMPIIO(), and mpiCommunicator().
|
pure virtual |
Indicates if the implementation uses hybrid mode.
The implementation uses mixed MPI/thread mode.
|
pure virtual |
Returns true if the execution is parallel.
The execution is parallel if the instance implements a message exchange mechanism such as MPI.
References commRank().
Referenced by Arcane::MeshReaderMng::readMesh().
|
pure virtual |
Indicates if the implementation uses threads.
The implementation uses threads either in pure thread mode, or in mixed MPI/thread mode.
|
pure virtual |
|
inlinevirtual |
MPI communicator derived from the communicator communicator() gathering all processes of the compute node.
The communicator is only valid if MPI is used. It is possible to test its validity by calling the Communicator::isValid() method. If it is valid, it is possible to retrieve its value via a cast:
Definition at line 146 of file IParallelMng.h.
|
pure virtual |
Rank of the instance managing I/O (for which isMasterIO() is true).
In the current implementation, this is always the rank 0 processor.
Referenced by Arcane::Hdf5VariableReaderHelper2::open().
|
pure virtual |
Associated Arccore message passing manager.
Implemented in Arcane::ParallelMngDispatcher.
References messagePassingMng().
Referenced by messagePassingMng().
|
virtual |
Address of the MPI communicator associated with this manager.
Definition at line 51 of file Parallel.cc.
References getMPICommunicator().
Referenced by getMPICommunicator().
|
pure virtual |
Probes if messages are available.
References probe().
Referenced by probe().
|
pure virtual |
Executes the operations of messages messages.
Implemented in Arcane::ParallelMngDispatcher.
References processMessages().
Referenced by processMessages(), and processMessages().
|
pure virtual |
Executes the operations of messages messages.
Implemented in Arcane::ParallelMngDispatcher.
References processMessages().
|
pure virtual |
|
pure virtual |
Receives array values from subdomain rank
References recv().
|
pure virtual |
Replication information.
The returned pointer is never null and remains the property of this instance.
References replication().
Referenced by replication().
|
pure virtual |
Sends message message with the values of array values
|
pure virtual |
The returned request must be used in waitAllRequests() or freed by calling freeRequests().
|
pure virtual |
Returns a sequential parallelism manager.
This instance retains ownership of the returned instance, which must not be destroyed. The lifetime of the returned instance is the same as this instance.
References sequentialParallelMng().
Referenced by Arcane::MeshReaderMng::readMesh(), and sequentialParallelMng().
|
pure virtual |
Sets the statistics manager.
Implemented in Arcane::ParallelMngDispatcher.
|
pure virtual |
Tests if one of the rvalues requests is complete.
Returns an array of indices of completed requests.
Implemented in Arcane::ParallelMngDispatcher.
References testSomeRequests().
Referenced by testSomeRequests().
|
pure virtual |
Arccore temporal statistics collector (can be null).
Implemented in Arcane::ParallelMngDispatcher.
|
pure virtual |
Associated statistics manager (can be null).
Implemented in Arcane::ParallelMngDispatcher.
|
pure virtual |
Blocks while waiting for one of the rvalues requests to complete.
Returns an array of indices of completed requests.
Implemented in Arcane::ParallelMngDispatcher.
References waitSomeRequests().
Referenced by waitSomeRequests().
|
friend |
Definition at line 56 of file IParallelMng.h.