[petsc-dev] We need to cleanup viewers
Barry Smith
bsmith at mcs.anl.gov
Thu Mar 27 17:29:58 CDT 2014
On Mar 27, 2014, at 5:22 PM, Jed Brown <jed at jedbrown.org> wrote:
> Barry Smith <bsmith at mcs.anl.gov> writes:
>
>> On Mar 27, 2014, at 5:03 PM, Jed Brown <jed at jedbrown.org> wrote:
>>
>>> Barry Smith <bsmith at mcs.anl.gov> writes:
>>>> If a user calls XXX() and it doesn’t do what they expect, how do
>>>> they figure out what is wrong? It is called debugging and usually
>>>> it is because what they expect is not what it does.
>>>
>>> I have to say, my first instinct in such cases, especially when working
>>> with an unfamiliar code base, is that the line invoking the viewer is
>>> never reached
>>
>> Trivia to check in the debugger.
>
> Yes, but already cumbersome when the front-end is Python, the program is
> launched through a script that always creates at least 9 processes, the
> build system doesn't support simultaneous debug and optimized installs,
> and rebuilds take hours. Suddenly you're jumping through hoops (each
> one manageable if disconcerting) for what should have been a 10-second
> task. I don't understand why people bring such things upon them, but
> the things we shrug off as 10-second queries are not always. Yes, it's
> "their" own damn fault for building a monstrosity, but there is
> sometimes amazing value in simple reasoning about user code.
You shouldn’t be allowed to start implementing a complicated nested “framework system” until you clearly understand how you are going to debug in it. The community should just not tolerate that kind of crap.
>
>>> Sometimes we want XXView(X,V) to mean "Hey X, anything you feel like
>>> talking about?" and other times we mean "X, serialize yourself!”
>>
>> Maybe this is related to the specific type of viewer and even
>> format.
>
> Indeed, some sort of attribute of the viewer. It may be tricky to know
> which semantic is best in all cases, but I think many are clear.
>
>> Also it is related to either 1) serialize yourself so you can be
>> totally recreated (true serialization) versus 2) serialize enough
>> of yourself so I can visualize you. We usually do 2) currently and
>> in that case it is reasonable sometimes to not view everything.
More information about the petsc-dev
mailing list