39class ARCANE_CORE_EXPORT ParallelNonBlockingCollectiveDispatcher
44 explicit ParallelNonBlockingCollectiveDispatcher(
IParallelMng* pm);
45 ~ParallelNonBlockingCollectiveDispatcher()
override;
64#ifdef ARCANE_REAL_NOT_BUILTIN
85#define ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(field,type) \
87 virtual Request allGather(ConstArrayView<type> send_buf,ArrayView<type> recv_buf); \
88 virtual Request gather(ConstArrayView<type> send_buf,ArrayView<type> recv_buf,Integer rank); \
89 virtual Request allGatherVariable(ConstArrayView<type> send_buf,Array<type>& recv_buf); \
90 virtual Request gatherVariable(ConstArrayView<type> send_buf,Array<type>& recv_buf,Integer rank); \
91 virtual Request scatterVariable(ConstArrayView<type> send_buf,ArrayView<type> recv_buf,Integer root); \
92 virtual Request allReduce(eReduceType rt,ConstArrayView<type> send_buf,ArrayView<type> v); \
93 virtual Request broadcast(ArrayView<type> send_buf,Int32 rank); \
94 virtual Request allToAll(ConstArrayView<type> send_buf,ArrayView<type> recv_buf,Integer count); \
95 virtual Request allToAllVariable(ConstArrayView<type> send_buf,Int32ConstArrayView send_count, \
96 Int32ConstArrayView send_index,ArrayView<type> recv_buf, \
97 Int32ConstArrayView recv_count,Int32ConstArrayView recv_index); \
99 IParallelNonBlockingCollectiveDispatchT<type>* field;
102 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_char,
char)
103 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_char,
unsigned char)
104 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_signed_char,
signed char)
105 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_short,
short)
106 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_short,
unsigned short)
107 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_int,
int)
108 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_int,
unsigned int)
109 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long,
long)
110 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_long,
unsigned long)
111 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long_long,
long long)
112 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_unsigned_long_long,
unsigned long long)
113 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_float,
float)
114 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_double,
double)
115 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_long_double,
long double)
116#ifdef ARCANE_REAL_NOT_BUILTIN
117 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real,
Real)
119 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real2,
Real2)
120 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real3,
Real3)
121 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real2x2,
Real2x2)
122 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_real3x3,
Real3x3)
123 ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE(m_hpreal,
HPReal)
125#undef ARCANE_PARALLEL_NONBLOCKINGCOLLECTIVE_DISPATCH_PROTOTYPE
140#ifdef ARCANE_REAL_NOT_BUILTIN