[petsc-dev] Subcomms

Barry Smith bsmith at mcs.anl.gov
Sat Jan 28 17:13:51 CST 2012


On Jan 28, 2012, at 1:52 PM, Mark F. Adams wrote:

> 
> On Jan 28, 2012, at 1:48 PM, Barry Smith wrote:
> 
>> 
>>> 
>>> 
>> 
>>   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.
>> 
> 
> OK, that is starting to sound plausible: a smallish mafia that is the HPC/programming languages community is closed to your friends.  Paranoid but plausible.

   Wow, wow, wow, back up. Who said any of my friends were intelligent or closed to the HPC/programming languages community. You made a giant leap here. 

> 
> But I still think its a hard problem.  There are many constraints on a language and the inertia for science applications is immense.  The risk of failure is more than most application scientist can tolerate.


   Now this is completely a sociological/psychological issue. The attitudes and behavior of the application scientist are the major burden to rapid change: you know getting many of them to use basic time-saving tools like revision control systems, makefiles, decent editors, basic coding styles/techniques is very very very difficult (often just plain impossible) and that application scientists make decisions on totally irrational basis: like "I heard a talk where someone sped up their mechanics code 1000 times with GPUs so now I am going to use CPUs" or "I heard someone used FMM in 3d and it sucked so I know fast methods are not practical". That is, the process application scientists us to evaluate and make decisions about simulation are beyond atrocious. This doesn't mean that parallel computing need be hard, it means "something" and for me the short hand for that "something" is "those people are a bunch of idiots". What expression would you use?

   Barry



>  (eg, I recently heard of a code that decided to use python, which does not sound risky to me, but it takes 2 hours for python to load on 64K cores.  There are many failure modes in this business)
> 
> 
>>   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
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> 
> 




More information about the petsc-dev mailing list