14#include "arccore/base/TraceInfo.h"
15#include "arccore/base/String.h"
16#include "arccore/base/FatalErrorException.h"
18#include "arccore/message_passing_mpi/MpiDatatype.h"
25namespace MessagePassing
34MpiDatatype(MPI_Datatype datatype)
36, m_reduce_operator(new BuiltInMpiReduceOperator())
42MpiDatatype(MPI_Datatype datatype,
bool is_built_in,IMpiReduceOperator* reduce_operator)
44, m_reduce_operator(reduce_operator)
45, m_is_built_in(is_built_in)
56 if (m_datatype!=MPI_DATATYPE_NULL)
57 MPI_Type_free(&m_datatype);
59 m_datatype = MPI_DATATYPE_NULL;
60 delete m_reduce_operator;
69MPI_Op BuiltInMpiReduceOperator::
70reduceOperator(eReduceType rt)
73 MPI_Op op = MPI_OP_NULL;
80 ARCCORE_FATAL(
"Reduce operation unknown or not implemented");
87template class StdMpiReduceOperator<float>;
88template class StdMpiReduceOperator<double>;
89template class StdMpiReduceOperator<long double>;
@ ReduceMin
Minimum des valeurs.
@ ReduceSum
Somme des valeurs.
@ ReduceMax
Maximum des valeurs.
Espace de nom de Arccore.