Source: openmpi
Version: 3.1.0-7
Severity: serious

OpenMPI seems to be very broken on armel.  The C++ program below hangs
often at a random iteration on abel.d.o (in a sid_armel-dchroot).

I built the program using `mpic++ -Wall -std=c++14 -o test test.cc` and
ran it with two ranks `mpirun -np 2 ./test`.

Ansgar

----

#include <iostream>

#include <mpi.h>

int main(int argc, char** argv)
{
        MPI_Init(&argc, &argv);

        int rank, size;
        MPI_Comm_rank(MPI_COMM_WORLD, &rank);
        MPI_Comm_size(MPI_COMM_WORLD, &size);

        for (int j = 0; j < 1024; ++j) {

                std::cout << "j = " << j << std::endl;

                MPI_Request req[2];

                const char out[4] = {1, 2, 3, 4};
                char in[4];

                int dest = (rank + 1) % size;
                int source = (size + rank - 1) % size;

                MPI_Isend(out, 4, MPI_BYTE, dest, 0, MPI_COMM_WORLD, &req[0]);
                MPI_Irecv(in, 4, MPI_BYTE, source, 0, MPI_COMM_WORLD, &req[1]);

                MPI_Waitall(2, req, MPI_STATUSES_IGNORE);
        }

        MPI_Finalize();
        return 0;
}

Reply via email to