On Jan 13, 2014, at 1:55 AM, Jed Brown <[email protected]> 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



Reply via email to