← Back to team overview

dolfin team mailing list archive

Re: jit and ffc form modules

 

On Fri, Mar 14, 2008 at 11:31:19AM +0100, Kristen Kaasbjerg wrote:
> Anders Logg wrote:
> > On Fri, Mar 14, 2008 at 09:28:20AM +0100, Kristen Kaasbjerg wrote:
> >   
> >> Hi folks,
> >>
> >> can anyone tell how exactly the jit compiler checks if a given form has 
> >> already been compiled ?
> >>     
> >
> > The compiler computes the signature (a unique string) for the given
> > form. (You can print this out if you want by editing jit.py.)
> >
> > It then computes the md5 checksum of the signature and looks for a
> > directory with the name
> >
> >   ~/.ffc/cache/form_<checksum>
> >
> > If found, the compiler looks in that directory for a previously
> > compiled form and uses that.
> >
> > The cache can be cleaned by running ffc-clean.
> >
> >   
> >> I'm am solving poissons equation in each iteration of another problem.
> >> Despite the forms being the same, the forms are compiled over and over 
> >> again in each iteration.
> >>     
> >
> > Do you have the latest version of everything? (FFC, DOLFIN, Instant)
> >
> >   
> >> Also, only the source term changes in each iteration, so optimally I 
> >> would assemble/compile the bilinear form once and then only the linear 
> >> form in each iteration. That, however, also compiles the linear form in 
> >> every iteration.
> >> Is it not possible to tell assemble/jit to use an already compiled form ?
> >> I'm using the python interface and version 0.7.1.
> >>     
> >
> > I guess, you'll need to upgrade to 0.7.2. At least you need the latest
> > version of FFC.
> >
> >   
> so if I upgrade to 0.7.2, that will sort out the repeated compiles ?
> 
> Kristen

I can't promise anything, but this is one of the things that we fixed
in the latest release. Since the JIT compiler is in FFC, it should be
enough with the latest FFC, but I might have forgotten some fix we did
to DOLFIN for this.

Generally, running the latest version is better, 0.7.1 is very old...

-- 
Anders


Follow ups

References