Interface for non-blocking collective parallel operations. More...
#include <arcane/core/IParallelNonBlockingCollective.h>
Public Types | |
| typedef Parallel::Request | Request |
| typedef Parallel::eReduceType | eReduceType |
Public Member Functions | |
| virtual | ~IParallelNonBlockingCollective ()=default |
| Releases resources. | |
| virtual void | build ()=0 |
| Constructs the instance. | |
| virtual IParallelMng * | parallelMng () const =0 |
| Associated parallelism manager. | |
allGather | |
| virtual Request | allGather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf)=0 |
| Performs a gather on 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 Request | allGather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0 |
| virtual Request | allGather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=0 |
gather | |
| virtual Request | gather (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer rank)=0 |
| Performs a gather on one 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 ranks other than rank. | |
| virtual Request | gather (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer rank)=0 |
| virtual Request | gather (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer rank)=0 |
Array reduction operations | |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< char > send_buf, ArrayView< char > recv_buf)=0 |
| Performs the reduction of type rt on the array send_buf and stores the result in recv_buf. | |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< short > send_buf, ArrayView< short > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< int > send_buf, ArrayView< int > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< long > send_buf, ArrayView< long > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< float > send_buf, ArrayView< float > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< double > send_buf, ArrayView< double > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf)=0 |
| virtual Request | allReduce (eReduceType rt, ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf)=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 Request | broadcast (ArrayView< char > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< signed char > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< unsigned char > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< short > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< unsigned short > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< int > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< unsigned int > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< long > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< unsigned long > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< long long > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< unsigned long long > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< float > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< double > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< long double > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< Real2 > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< Real3 > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< Real2x2 > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< Real3x3 > send_buf, Integer rank)=0 |
| virtual Request | broadcast (ArrayView< HPReal > send_buf, Integer rank)=0 |
| virtual Request | allToAll (ConstArrayView< char > send_buf, ArrayView< char > recv_buf, Integer count)=0 |
| Performs a broadcast of a memory region. | |
| virtual Request | allToAll (ConstArrayView< signed char > send_buf, ArrayView< signed char > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< unsigned char > send_buf, ArrayView< unsigned char > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< int > send_buf, ArrayView< int > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< unsigned int > send_buf, ArrayView< unsigned int > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< short > send_buf, ArrayView< short > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< unsigned short > send_buf, ArrayView< unsigned short > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< long > send_buf, ArrayView< long > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< unsigned long > send_buf, ArrayView< unsigned long > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< long long > send_buf, ArrayView< long long > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< unsigned long long > send_buf, ArrayView< unsigned long long > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< float > send_buf, ArrayView< float > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< double > send_buf, ArrayView< double > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< long double > send_buf, ArrayView< long double > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< Real2 > send_buf, ArrayView< Real2 > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< Real3 > send_buf, ArrayView< Real3 > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< Real2x2 > send_buf, ArrayView< Real2x2 > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< Real3x3 > send_buf, ArrayView< Real3x3 > recv_buf, Integer count)=0 |
| virtual Request | allToAll (ConstArrayView< HPReal > send_buf, ArrayView< HPReal > recv_buf, Integer count)=0 |
allToAll variable | |
Performs a variable allToAll. | |
| virtual Request | allToAllVariable (ConstArrayView< char > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< char > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | 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 Request | 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 Request | allToAllVariable (ConstArrayView< int > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< int > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | 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 Request | allToAllVariable (ConstArrayView< short > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< short > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | 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 Request | allToAllVariable (ConstArrayView< long > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< long > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | 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 Request | 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 Request | 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 Request | allToAllVariable (ConstArrayView< float > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< float > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | allToAllVariable (ConstArrayView< double > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< double > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | 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 Request | allToAllVariable (ConstArrayView< Real2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | allToAllVariable (ConstArrayView< Real3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | allToAllVariable (ConstArrayView< Real2x2 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real2x2 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | allToAllVariable (ConstArrayView< Real3x3 > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< Real3x3 > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
| virtual Request | allToAllVariable (ConstArrayView< HPReal > send_buf, Int32ConstArrayView send_count, Int32ConstArrayView send_index, ArrayView< HPReal > recv_buf, Int32ConstArrayView recv_count, Int32ConstArrayView recv_index)=0 |
Synchronization and asynchronous operations | |
| virtual Request | barrier ()=0 |
| Performs a barrier. | |
| virtual bool | hasValidReduceForDerivedType () const =0 |
| Indicates if the implementation allows reductions on derived types. | |
Interface for non-blocking collective parallel operations.
Definition at line 52 of file IParallelNonBlockingCollective.h.
Definition at line 61 of file IParallelNonBlockingCollective.h.
| typedef Parallel::Request Arcane::IParallelNonBlockingCollective::Request |
Definition at line 60 of file IParallelNonBlockingCollective.h.
|
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 receiving processors receive the array in bytes. This array is allocated automatically; receiving processors do not need to know the number of bytes to be sent.
References allToAll().
Referenced by allToAll().
|
pure virtual |
|
pure virtual |
Associated parallelism manager.
Implemented in Arcane::ParallelNonBlockingCollectiveDispatcher.