Re: [mpich-devel] MPI_Reduce_scatter_block() with zero-size, NULL buffers.
Yup, you are right. The check is overly aggressive. We’ll fix it. For others following along, here’s the ticket tracking this issue. http://trac.mpich.org/projects/mpich/ticket/2124 — Pavan On Jul 6, 2014, at 7:20 AM, Lisandro Dalcin <[email protected]> wrote:
On 6 July 2014 14:34, Balaji, Pavan <[email protected]> wrote:
Yes, this is intentional. It’s an additional error check and is showing a bug in your user code.
Do you really think this buffer specification is aliased?: sbuf=(nil), rbuf=(nil), recvcount=0, MPI_INT
I mean, the message count are zero, and the buffers are both NULL. In case of count=0, all reductions should be basically a non-op, there is nothing to reduce. IMHO, using NULL pointers to represent zero-sized buffers is common practice. Perhaps this check should be relaxed for sbuf=rbuf=NULL ?
Please look at this test in mpi4py where I explicitly test for zero-size messages: https://bitbucket.org/mpi4py/mpi4py/src/master/test/test_msgzero.py
While this is in Python, the outcome is that the various p2p, collectives and reductions are called with buf=NULL, count=0, datatype=MPI_INT. From the tests there, all the block and vector collectives pass, but the reductions do not.
-- Lisandro Dalcin --------------- CIMEC (UNL/CONICET) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1016) Tel/Fax: +54-342-4511169 _______________________________________________ To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/devel
participants (1)
-
Balaji, Pavan