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"
23namespace Arcane::MessagePassing::Mpi
30MpiDatatype(MPI_Datatype datatype)
38MpiDatatype(MPI_Datatype datatype,
bool is_built_in,IMpiReduceOperator* reduce_operator)
40, m_reduce_operator(reduce_operator)
41, m_is_built_in(is_built_in)
52 if (m_datatype!=MPI_DATATYPE_NULL)
53 MPI_Type_free(&m_datatype);
55 m_datatype = MPI_DATATYPE_NULL;
56 delete m_reduce_operator;
65MPI_Op BuiltInMpiReduceOperator::
66reduceOperator(eReduceType rt)
69 MPI_Op op = MPI_OP_NULL;
76 ARCCORE_FATAL(
"Reduce operation unknown or not implemented");
83template class StdMpiReduceOperator<float>;
84template class StdMpiReduceOperator<double>;
85template class StdMpiReduceOperator<long double>;
Opérateur de réduction interne MPI (MPI_MAX, MPI_MIN, MPI_SUM)
@ ReduceSum
Somme des valeurs.
@ ReduceMin
Minimum des valeurs.
@ ReduceMax
Maximum des valeurs.