int main(int argc, char **argv)
{
int err = 0;
- int toterr, size, rank, i, sumval;
+ int toterr, size, rank;
+#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
+ int i, sumval;
int *sendbuf;
int *recvbuf;
+#endif
MPI_Comm comm;
MPI_Init(&argc, &argv);
err++;
fprintf(stderr, "unable to allocate send/recv buffers, aborting");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
for (i=0; i<size; i++)
sendbuf[i] = rank + i;
fprintf(stdout, "Did not get expected value for reduce scatter block\n");
fprintf(stdout, "[%d] Got %d expected %d\n", rank, recvbuf[0], sumval);
}
+
+ MPI_Comm_set_errhandler(MPI_COMM_WORLD, MPI_ERRORS_RETURN);
+ if (MPI_SUCCESS == MPI_Reduce_scatter_block(recvbuf, recvbuf, 1, MPI_INT, MPI_SUM, comm))
+ err++;
+
free(recvbuf);
#endif