← Back to team overview

ffc team mailing list archive

Re: Not writing generated code to file

 

A recent commit to instant fixes this problem. 

The reason this has been a problem before is that the filelocking system used 
by instant does not work for NFS. Which many of use when submitting jobs to a 
cluster.

I found a NFS safe file locking library online, fcntl:

  https://launchpad.net/flufl.lock

which is now supported by instant. If not present it defaults to the old one. 
My understandment of file locking is still limited, but it worked for some 
test cases I have using PyDOLFIN, which broke misserably with the old file 
locking module.

Please install it and test this new feature.

The time where a simulation need to be run on the frontend first to generate 
the compiled code might be over :).

Johan

On Wednesday August 3 2011 20:49:24 Johan Hake wrote:
> Hello!
> 
> Why do we write generated code to file when the jit compilation is used?
> This introduce a cause of error which has annoyed me for some time now.
> Instead of writing the code to file and then in ufc.build we just read the
> file again, we could just pass the code as a single str.
> 
> This would save us for a lot of hassle with file access during server run.
> When several runs are commited and executed at one time I experience a lot
> of runs that stops prematurely because of file access problem. This
> "should" have been fixed by some file locking mechanism which really is
> not working.
> 
> If you think this is a cool thing to do I can do the work. We just have to
> add a parameter, or an extra argument to some ffc functions and change the
> interface to ufc.build.
> 
> Johan
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~ffc
> Post to     : ffc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ffc
> More help   : https://help.launchpad.net/ListHelp

Follow ups

References