Hello all,
The very simple code below returns mpiRC = 15.
const std::array< double, 2 > rangeMin { minX, minY };
std::array< double, 2 > rangeTempRecv { 0.0, 0.0 };
int mpiRC = MPI_Allreduce( rangeMin.data(), rangeTempRecv.data(),
rangeMin.size(), MPI_DOUBLE, MPI_MIN, PETSC_COMM_WORLD );
Some i
There are two ways the MPI_Allreduce returns MPI_ERR_TRUNCATE:
1. it is propagated from one of the underlying point-to-point
communications, which means that at least one of the participants has an
input buffer with a larger size. I know you said the size is fixed, but it
only matters if all proces