The new MPI-3 function MPI_Improbe might be helpful here, but it may still cost you extra in temporary buffer space (allocated internally in MPI), depending on the size of the incoming message.
Meaning: OMPI (and other MPI's) will still allocate *something* for each matched incoming message, even if you don't receive it right away. That *something* may be the entire message (if it's short), or the first part of the message (if it's long). We've implemented MPI_Improbe (and friends) on the OMPI SVN trunk; it won't be available in a general release until the OMPI 1.7 series. But you might want to give it a whirl anyway...? On Apr 20, 2012, at 5:14 PM, Jeffrey A Cummings wrote: > MPI_Iprobe returns a single status object if at least one message is waiting > in a queue. I would like to be able to do something similar (i.e., non > blocking probes) which would produce an array of status objects representing > all messages waiting in a queue. I would then decide on the order of actual > message reception based on the source field of the status array objects. > Does anyone know of a way to accomplish this? > > Jeff Cummings_______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/