1
1
Artem Polyakov 25077fc5d9 Fix MPI_Alltoall to support inter-communicators.
Remove excessive parameter check to avoid premature exit from the collective.

MPI standard says:
The type signature associated with sendcount, sendtype, at a process must be equal to
the type signature associated with recvcount, recvtype at any other process. This implies
that the amount of data sent must be equal to the amount of data received, pairwise between
every pair of processes.

In case of inter-communicator we have 2 group of processes and "left" group may call
MPI_Alltoall(NULL, 0, MPI_INT, buf, 10, MPI_INT, comm, ...);
and the right one:
MPI_Alltoall(buf,10,MPI_INT, NULL, 0, MPI_INT, comm, ...);

And it would be legal though one of the group will receive 0 bytes from others.

This was triggered by MPICH/coll test called icalltoall.
2015-12-11 08:50:34 +06:00
..
2015-10-22 09:33:26 -06:00
2015-06-23 20:59:57 -07:00
2015-06-23 20:59:57 -07:00
2015-10-15 12:39:15 -04:00
2015-10-22 09:33:26 -06:00
2015-10-15 12:39:15 -04:00
2015-10-15 12:39:15 -04:00
2015-10-15 12:39:15 -04:00
2015-10-22 09:33:26 -06:00
2015-10-22 09:33:26 -06:00
2015-10-22 09:33:26 -06:00