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

Reply via email to