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