|analyzing messages firstname.lastname@example.org (MattR) (2004-08-09)|
|Date:||9 Aug 2004 00:40:03 -0400|
|Posted-Date:||09 Aug 2004 00:40:02 EDT|
I'd appreciate some pointers and references on this problem: given an
MPI program (parallel, loosely synchronous, message passing) what does
it take to analyze the messages and program and determine, at a
certain point in the program, what messages might be "in flight"? Or,
I guess more generally, build a control flow graph with message flow
info appended to it. Is this just a simple extension to that needed
for a serial program (def/use for send/recv) or is this much uglier?
I can imagine how this could get ugly. For example we have programs
where all the communication is done in one of a few library
routines. As long as the processors call each routine synchronously
(all call the same routine from the same location in the program)
everything is simple and easy. But if somehow the processors get out
of synch, something will fail. Then the question is what does it take
to check that the processors are executing synchronously. Is this
something that can be automated and put in a compiler?
Return to the
Search the comp.compilers archives again.