[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ptp-dev] Re: Identifying MPI programming problems
|
On Jun 1, 2005, at 2:52 PM, Donald P Pazel wrote:
On Jun 1, 2005, at 4:31 PM, Craig Rasmussen wrote:
>
>I think Nathan has hit on a great idea (MPI flow diagrams). Do you
>Open MPI guys think this would be possible?
I'd like to mention, that what would be most interesting is to see how
MPI flow diagrams are represented from the practitioner viewpoint, as
opposed high-level design diagrams. I find that the kind of "white
board" diagrams that engineers draw daily (e.g. blocks and arrows) and
use to capture the essence of code problems are extremely interesting
and helpful, and derive from extended experience. (Then of course we
usually erase those drawings, or leave them until than dry hard to the
board.)
In any case, I think seeing these paradigmic drawings, and the
problems they address, would be very helpful as input to think about
for tools' features.
So two points:
1. I don't know any programmers that do much diagramming of code (other
than UML) so I can't help you there.
2. So I have a colleague (Matt) that programs MPI code and he thinks
trying to do static analysis for MPI flow diagrams is a hopeless cause
(because data flow is often established at runtime). And he has
actually tried to do it, so we should probably pay attention to what he
says. I was thinking of very simple matching of sends and recvs in the
case where it is possible (and easy). Otherwise, the tool doesn't
display anything. Perhaps one could click on a send and the matching
recv is highlighted (something like bracket matching).
Matt has used static analysis plus run time information to do MPI data
flow analysis. This is perhaps too complicated for now but we can
think about later. Matt has code we could steal.
Matt would like to see a MPI wizard that could generate code for a
particular processor topology, stencil operation and boundary
conditions. For example if the processors were layed out in a square
grid, one employed a 5 pt stencil, and the boundary conditions were
cyclic, the wizard would generate the code. As I write this I'm seeing
problems so we will have to think about this further.
Did I confuse everyone?
Cheers,
Craig