[Mpi3-hybridpm] Regarding making changes to Open-MP to eliminate need for MPI_HELPER_TEAM

Douglas Miller dougmill at us.ibm.com
Wed Feb 16 08:04:33 CST 2011

I'm am still discussing this with compiler folks here at IBM, but I was
reminded of a point that I think makes the question moot.

Even if open-mp allows the user to get control of threads (or tasks) when
they go idle, it doesn't solve the problem which is how does a task that
(otherwise) makes no MPI calls get involved in other thread's MPI calls?
There is currently no interface into MPI that provides a general-purpose "I
want to help others" action. At the very least we'd have to modify the
interface or semantics to MPI_WAIT/MPI_TEST to allow for calling without a
request (essentially creating MPI_HELPER_TEAM_YIELD).

Unless the idea was that MPI itself somehow registered itself with the
open-mp runtime such that the application had no idea. Then I suppose the
MPI implementation could provide some internal (MPID) function that did
what was necessary. But that raises all sorts of questions for things like
applications that use both MPI and UPC, who wins the registration - MPI or
UPC? Not to mention that if this were a public open-mp feature what's to
stop the application from also wanting to register a function? A lot
depends on exactly how this were implemented and exposed.

and then there's the issue of applications that do threading some other way
- pthreads, fork, whatever - does every potential threading runtime have to
be modified? or how does the user accomplish this same thing without
Open-MP? It just seems more universally-useful if MPI does this, rather
than every threading platform in the world. Of course, things like UPC and
GA/ARMCI also need to provide similar features. It just seems more
problematic trying to get OSes and Compilers to add this.

I think I'm rambling-on too much.  Maybe no one needs to respond to this -
it is just input for our next discussion.

Anyway, I'm still exchanging e-mail with compiler folks on this. Right now,
they are having a hard time understanding what I'm asking for. I guess the
idea is so vague that I can't even give them sample code or a hypothetical

Douglas Miller                  BlueGene Messaging Development
IBM Corp., Rochester, MN USA                     Bldg 030-2 A410
dougmill at us.ibm.com               Douglas Miller/Rochester/IBM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-hybridpm/attachments/20110216/dab8af2f/attachment.html>

More information about the mpiwg-hybridpm mailing list