[petsc-dev] IMP prototype

Victor Eijkhout eijkhout at tacc.utexas.edu
Mon Jan 13 10:06:15 CST 2014


On Jan 13, 2014, at 1:55 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

>  It
> sounds like you are suggesting extending IMP to include it as a
> primitive.

More or less. More less than more.

>  That's okay, but increasing the number of primitives makes
> the model more complicated

I don't look at it that way. The basic abstraction is that of distributions. Then there is that of kernels, which have two distributions associated with them, the alpha and the beta. From those two you get data dependencies, whether you call that dataflow, a DAG, or messages. The Sparse Data Exchange is not part of the model: it's the implementation of how data dependencies get realized in the specific case of message passing. The model only says "there will be a mechanism for finding data dependencies", not how it's implemented.

There is still something like "the number of primitives" because in the MPI case you may have a switch on a low level: "if one of the distributions is the redundant duplication, then use an Allgather, otherwise use the Hoefler Sparse Data Exchange". But I don't consider that inelegant: any system will have some of these runtime decisions.

Victor.
-- 
Victor Eijkhout, 512 471 5809 (w)
Texas Advanced Computing Center, 
The University of Texas at Austin






More information about the petsc-dev mailing list