Hello,
In the case of single process the MPI_Ireduce_scatter_block is
segfaulting with v1.9a1r26786.
But in other cases (commsize >= 2) processes hang in
MPI_Ireduce_scatter_block. The NBC_Progress hangs during rounds processing.
The following example illustrates this problem:
$ cat ireduce_scatter_block_test.c
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
int main(int argc, char **argv)
{
MPI_Request req;
MPI_Status status;
double *sbuf, *rbuf;
int commsize, i, j, count = 10;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &commsize);
sbuf = malloc(sizeof(*sbuf) * count * commsize);
rbuf = malloc(sizeof(*rbuf) * count);
for (i = 0; i < commsize; i++) {
for (j = 0; j < count; j++) {
sbuf[i] = 1.0;
}
}
MPI_Ireduce_scatter_block(sbuf, rbuf, count, MPI_DOUBLE,
MPI_SUM, MPI_COMM_WORLD, &req);
MPI_Wait(&req, &status);
free(rbuf);
free(sbuf);
MPI_Finalize();
return 0;
}
--
Mikhail Kurnosov
Computer Systems Department
Siberian State University of Telecommunications and Information Sciences
Address: 630102, 86 Kirova str., Novosibirsk, Russia
Email: mkurno...@gmail.com
http://cpct.sibsutis.ru/~mkurnosov