[mpich-devel] MPI_Reduce_scatter_block() with zero-size, NULL buffers.

Balaji, Pavan balaji at anl.gov
Sun Jul 6 08:36:27 CDT 2014


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 <dalcinl at gmail.com> wrote:

> On 6 July 2014 14:34, Balaji, Pavan <balaji at anl.gov> 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



More information about the devel mailing list