<html><body>
<p><font size="2" face="sans-serif">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.</font><br>
<br>
<font size="2" face="sans-serif">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).</font><br>
<br>
<font size="2" face="sans-serif">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.</font><br>
<br>
<font size="2" face="sans-serif">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.</font><br>
<br>
<font size="2" face="sans-serif">I think I'm rambling-on too much.  Maybe no one needs to respond to this - it is just input for our next discussion.</font><br>
<br>
<font size="2" face="sans-serif">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 interface.</font><br>
<br>
<br>
<font size="2" face="sans-serif">_______________________________________________<br>
Douglas Miller                  BlueGene Messaging Development<br>
IBM Corp., Rochester, MN USA                     Bldg 030-2 A410<br>
dougmill@us.ibm.com               Douglas Miller/Rochester/IBM</font></body></html>