dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #21785
Re: Triggers of recompilation of large forms
On Thursday March 3 2011 15:37:11 Anders Logg wrote:
> On Thu, Mar 03, 2011 at 03:02:10PM -0800, Johan Hake wrote:
> > Hello!
> >
> > I have some large forms, including some 40 exterior facet integrals. I am
> > starting to get annoyed by a constant recompilation of these forms. I
> > have made pretty clear that each one does not contain any numbers that
> > changes from simulation to simulation (Using Constant or Expression for
> > changing coefficients). But at arbitrary times, reompilations are
> > triggered and with many integrals per form this take times ~5-20min
> > each... The generated code is not large, no complex forms, just many
> > integrals. I also use MixedSpaces with Real, see other email, with some
> > 10 Real spaces.
> >
> > I have tried to eliminate any possible triggers for recompilations within
> > my own code, change all dicts to ordered dicts and so on. Becuase the
> > forms are so big it is almost impossible to debug any signature string
> > from the form. They are hundreds of konsole lines long...
>
> Does the hash sum change?
I suspect that, because otherwise it would not trigger a recompile.
But the hash sum is dependent on the repr of the form. I suspect that there
might be some randomness built into this.
Eventhough a simple case:
a = u*v*dx
a += u*v*ds(1)
a += u*v*ds(2)
should create the same form each time, (This particular simple example
probably does), I have much more complicated forms building up which I suspect
don't create the same repr all the time. I haven't been able to debug it
further as the repr of the forms are hundreds of konsole line...
Johan
> --
> Anders
>
> > Do any of you have any clue of where, for example in UFL I can start
> > debug this?
> >
> > * Do all math operators in UFL preserve the orignial order?
> > * Are there any dicts involved in storing internal information in a
> > form,
> >
> > which the __repr__ command depends on?
> >
> > Is there another way to represent the uniqeness of a form which might
> > eliminate this error?
> >
> > Johan
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~dolfin
> > Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~dolfin
> > More help : https://help.launchpad.net/ListHelp
Follow ups
References