On Jan 28, 2012, at 12:42 PM, Barry Smith wrote:
>
> On Jan 28, 2012, at 12:34 PM, Mark F. Adams wrote:
>
>>
>> On Jan 28, 2012, at 1:10 PM, Barry Smith wrote:
>>
>>>
>>> On Jan 28, 2012, at 10:59 AM, Matthew Knepley wrote:
>>>
>>>> On Sat, Jan 28, 2012 at 8:00 AM, Mark F. Adams <mark.adams at
>>>> columbia.edu> wrote:
>>>>
>>>> On Jan 27, 2012, at 8:22 PM, Barry Smith wrote:
>>>>
>>>>>
>>>>> On Jan 27, 2012, at 6:36 PM, Mark F. Adams wrote:
>>>>>
>>>>>>
>>>>>> On Jan 27, 2012, at 6:58 PM, Jed Brown wrote:
>>>>>>
>>>>>>> On Fri, Jan 27, 2012 at 17:48, Matthew Knepley <knepley at gmail.com>
>>>>>>> wrote:
>>>>>>> Is now the right time. Shouldn't we wait until MPI's replacement is
>>>>>>> working and do things with that model?
>>>>>>>
>>>>>>> I'm laughing. Am I supposed to be?
>>>>>>>
>>>>>>> I'm laughing too.
>>>>>>>
>>>>>>> There isn't going to be a replacement for MPI until the smart people
>>>>>>> that understand parallel programming, performance, and libraries start
>>>>>>> working on something other than MPI. But most of those people are on
>>>>>>> the MPI Forum, trying to improve MPI. Now we need a good model for
>>>>>>> threads, and that might not be based on MPI, but it sure looks like the
>>>>>>> large-scale distributed-memory model will be MPI for the foreseeable
>>>>>>> future.
>>>>>>>
>>>>>>
>>>>>> I don't think its a matter of smart people not having worked on this,
>>>>>> they have IMO, its just a hard problem.
>>>>>
>>>>> I disagree; it is not necessarily hard, it is just that the non-MPI
>>>>> people are pretty fucking stupid.
>>>>>
>>>>
>>>> It is not hard, intellectually intriguing, fundable, and smart people
>>>> won't do it. What am I missing?
>>>>
>>>> I think Barry's point is that this is another case where, no matter how
>>>> smart or motivated you are, if you start
>>>> out with a bad design decision in the beginning, and refuse to change it
>>>> for whatever reason, you will not
>>>> succeed.
>>>
>>> Matt's got it! The slight difference is that I submit is that people who
>>> "start out with a bad design decision in the beginning, and refuse to
>>> change it for whatever reason" are fundamentally stupid even though they
>>> may be considered by most measures to be smart. To me the "bad design
>>> decisions" are so blindly obviously wrong it is hard for me to label the
>>> people who "refuse to change it for whatever reason," anything but stupid,
>>> what other phrase should I use "smart in many ways but blindly stupid in
>>> this one regard?"
>>>
>>
>> Ok, first you two have changed the question (is this a Chicago thing?) --
>> why have "smart" people not done something that is "not hard" and an
>> obviously important and even a hot ($) topic (for decades)? You are
>> implying some massive systemic market failure.
>
> Absolutely, it is a systemic market failure. It is a failure of the
> community due to largely sociological reasons.
>
>>
>> That said, I'm willing to go with the flow. There are hundreds of parallel
>> programming languages out there
>> (http://en.wikipedia.org/wiki/List_of_concurrent_and_parallel_programming_languages).
>> You are implying that they are all done by rigid and narrow minded
>> thinkers. All of them. Morons. Really?
>
> This comes down to how to define "rigid and narrow minded thinkers", if you
> define that term by "starting out with a bad design decision in the
> beginning, and refuse to change it for whatever reason," then yes all those
> people are "rigid and narrow minded thinkers". But be careful because many
> brilliant people are "rigid and narrow minded thinkers" it is just that where
> their brilliance has occurred did not overlap with their areas of "rigid and
> narrow mindedness". Look at the guy you discovered the DNA structure, Watson.
> If you look at certain aspects of his life he is clearly a complete and utter
> moron, yet he got a Nobel prize (for good reason) for one of the most
> fundamentally important breakthroughs in science. So yes, smart people can be
> morons.
>
>
I should also note that there is really no need or likely even possibility
of a single parallel programming model that is appropriate for all scales and
situations. So some of the languages designed you mentioned are designed for a
particular regime and are fine for that particular regime so those
models/languages are not stupid or hopeless. The place where Matt's observed
issue is the high end HPC world.
Barry
>
>
> Barry
>
>
>>
>>>
>>> Barry
>>>
>>>
>>>>
>>>> Matt
>>>>
>>>>> Barry
>>>>>
>>>>>>
>>>>>>>
>>>>>>> As for sources of parallel errors, yes, it's somewhat tricky, but as
>>>>>>> long as the model is to get a sub-object out of a bigger one
>>>>>>> (submatrix, coarse level, etc), I think we can manage it. At any
>>>>>>> particular time, the user should still be looking at essentially
>>>>>>> single-comm collections of objects, but not all processes will end up
>>>>>>> being called in every context.
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> What most experimenters take for granted before they begin their
>>>> experiments is infinitely more interesting than any results to which their
>>>> experiments lead.
>>>> -- Norbert Wiener
>>>
>>>
>>
>