90 void resize(Integer n)
93 m_signed_char.resize(n);
94 m_unsigned_char.resize(n);
96 m_unsigned_short.resize(n);
98 m_unsigned_int.resize(n);
100 m_unsigned_long.resize(n);
101 m_long_long.resize(n);
102 m_unsigned_long_long.resize(n);
105 m_long_double.resize(n);
116 CreateSubParallelMngInfo m_create_sub_parallel_mng_info;
128 ARCCORE_INTERNAL_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS();
147 virtual void resize(Int64
new_size) = 0;
155 ConstMemoryView send_buf;
171 void _genericAllToAll(ConstMemoryView send_buf,
MutableMemoryView recv_buf, Int32 count);
173 void _genericAllGatherVariable(ConstMemoryView send_buf,
IResizableArray* recv_buf);
174 void _genericAllToAllVariable(ConstMemoryView send_buf,
178 void _genericScatterVariable(ConstMemoryView send_buf,
MutableMemoryView recv_buf, Int32 root);
186 ConstMemoryView m_const_view;
188 ConstMemoryView m_send_view;
203 void _collectiveBarrier();
278 void finalize()
override;
321 void gather(ConstArrayView<Type> send_buf, ArrayView<Type> recv_buf, Integer rank)
override
323 this->gather(Span<const Type>(send_buf), Span<Type>(recv_buf), rank);
325 void gatherVariable(ConstArrayView<Type> send_buf, Array<Type>& recv_buf, Integer rank)
override
327 this->gatherVariable(Span<const Type>(send_buf), recv_buf, rank);
329 void scatterVariable(ConstArrayView<Type> send_buf, ArrayView<Type> recv_buf, Integer root)
override
331 this->scatterVariable(Span<const Type>(send_buf), Span<Type>(recv_buf), root);
333 void allToAll(ConstArrayView<Type> send_buf, ArrayView<Type> recv_buf, Integer count)
override
335 this->allToAll(Span<const Type>(send_buf), Span<Type>(recv_buf), count);
341 this->allToAllVariable(Span<const Type>(send_buf), send_count, send_index,
342 Span<Type>(recv_buf), recv_count, recv_index);
344 Request send(ConstArrayView<Type> send_buffer, Integer proc,
bool is_blocked)
override
346 return this->send(Span<const Type>(send_buffer), proc, is_blocked);
348 Request recv(ArrayView<Type> recv_buffer,
Int32 rank,
bool is_blocked)
override
350 return this->receive(Span<Type>(recv_buffer), rank, is_blocked);
352 void allReduce(eReduceType op, ArrayView<Type> send_buf)
override
354 return this->allReduce(op, Span<Type>(send_buf));
357 void send(ConstArrayView<Type> send_buffer, Integer proc)
override;
358 void recv(ArrayView<Type> recv_buffer, Integer proc)
override;
359 void sendRecv(ConstArrayView<Type> send_buffer, ArrayView<Type> recv_buffer, Integer proc)
override;
360 Type allReduce(eReduceType op,
Type send_buf)
override;
361 Type scan(eReduceType op,
Type send_buf)
override;
362 void scan(eReduceType op, ArrayView<Type> send_buf)
override;
363 void computeMinMaxSum(
Type val,
Type& min_val,
Type& max_val,
Type& sum_val,
365 Int32& max_rank)
override;
366 void computeMinMaxSum(ConstArrayView<Type> values,
367 ArrayView<Type> min_values,
368 ArrayView<Type> max_values,
369 ArrayView<Type> sum_values,
370 ArrayView<Int32> min_ranks,
371 ArrayView<Int32> max_ranks)
override;
372 ITypeDispatcher<Type>* toArccoreDispatcher()
override {
return this; }
378 ArrayView<SharedMemoryParallelDispatch<Type>*> m_all_dispatchs;
383 ReduceInfo m_reduce_infos;
387 void _allReduceOrScan(eReduceType op, Span<Type> send_buf,
bool is_scan);