Newsgroups: comp.parallel.mpi
From: dbc@ecs.soton.ac.uk (Bryan Carpenter)
Subject: Re: MPI_PROBE nuisance
Organization: Electronics and Computer Science, University of Southampton
Date: 24 Nov 1994 16:21:34 -0000
Message-ID: <3b2eie$4ku@louis.ecs.soton.ac.uk>

In <3avuev$lss@louis.ecs.soton.ac.uk> dbc@ecs.soton.ac.uk (Bryan Carpenter) writes:

>[...]

>I have an application where it would be convenient to do something like
>this.  Unfortunately I need to be outputting another message at the
>same time as I'm waiting for incoming messages.  For any other blocking
>operation there is a non-blocking variant with equivalent semantics
>and an `I' in front of the name, which enables one to perform the
>operation in parallel with something else.  In the case of MPI_PROBE,
>there is an MPI_IPROBE, but it does something quite different to `I'
>variants of other blocking operations, and I don't think there's any
>sensible way to do what I want to do.

I didn't make it quite clear what I was after here (as some email responses
pointed out).

I wanted to be able to do this something like this... 

  MPI_ISEND(data, count, type, dest, outTag, outComm, outRequest) ;
  MPI_IPROBE'(source, inTag, inComm, inRequest) ;

  MPI_WAITANY(2, [outRequest, inRequest], index, status) ;
  switch(index) {
    case : 0
      // output succeeded: do something (eg, initiate another output)
    case : 1
      // input available: read pending input and do something else
  }

but IPROBE' doesn't exist in MPI.

Bryan


