Barry, 

I totally disagree.  About 5 years ago a lot of lumpenproletariat CS people 
were crowing that MPI was dead and after a few years of naval gazing w/o being 
able to compete the sentence "and will be replaced with ..." they quietly 
resigned themselves to the fact that MPI will be on top for the vast majority 
of apps for the foreseeable future.  I think anyone with their feet on the 
ground, even the most pro future languages people like Kathy Yelick, sees MPI 
being in the mix for a long time.  Now a days I see lots of "MPI + ?" on 
slides, or even "MPI + OpenMP + ?" but PGAS languages are still at the fringes.

Mark

On Nov 23, 2011, at 11:22 PM, Barry Smith wrote:

> 
>   These guys are making a very big strategic mistake. They cannot expect to 
> get any funding at all if they continue to purse MPI when the acting and 
> presumably next ASCR director believes with every fiber of his being that MPI 
> is dead. They are writing the death sentence to computer science at ANL.
> 
>   Barry
> 
> 
> On Nov 23, 2011, at 6:28 PM, Jed Brown wrote:
> 
>> I had a useful conversation with the MPICH guys today about the unstructured 
>> communication primitives that Mark, Matt, Barry, and I have been discussing. 
>> It's looking like we can do a very thin communication library that has the 
>> nice semantics I was looking for, namely that the local-to-global is stored 
>> only as indices in the local space. To implement the communication 
>> primitives, the owner of a global node never needs to know how many or which 
>> processes have that point in their local space. There is an MPI-3 feature 
>> that we can use to elegantly avoid two-way knowledge for pointwise 
>> gather/scatter. (We can always implement the same interface using vanilla 
>> MPI-1, but the MPI-2/3 implementation would have less overhead.)
>> 
>> If I/we write this layer, VecScatter (with arbitrary data types, etc) could 
>> be implemented very easily on top of it. I'm in no rush to do this, but I 
>> could imagine getting there eventually. The VecScatter interface allows some 
>> things that might not be important. For example, any process can specify an 
>> edge in the communication graph, even if it does not own the source or the 
>> destination vertex. Also, both source and destination vertices can have 
>> degree higher than one. We can even put a link between the same points twice 
>> (effectively multiplying that contribution by 2 when using ADD_VALUES). I 
>> don't know if this ever makes semantic sense, but the interface allows it.
>> 
>> I wonder if we can express all useful communication with a more restrictive 
>> interface similar to a local-to-global map (but mapping between any vectors) 
>> where one side (typically called "local", but doesn't need to actually be a 
>> local Vec) has at most one edge.
>> 
>> What weird things do people use VecScatter for that might break with this 
>> more restrictive model?
> 
> 


Reply via email to