← Back to team overview

dolfin team mailing list archive

New project: FFC

 

I've just added the new project FFC (FEniCS Form Compiler) to the
FEniCS web site:

       http://www.fenics.org/

FFC is implemented in Python and uses FIAT to precompute integrals on
the reference element. FFC supports all (scalar) elements that FIAT
supports.

Although a number of important features are missing in this
first version, FFC can already generate output for DOLFIN. The initial
results look promising. Below are results from a simple comparison in
DOLFIN for assembly of Poisson's equation with piecewise linears on
tetrahedrons in 3D (assembling 10 times over 25000 tetrahedrons):

Old assembly:   7.380000
New, optimized: 0.670000
New, FFC:       0.680000

The new assembly through FFC is more than a factor 10 faster than our
old run-time system in DOLFIN. Note also that the code generated by
FFC is almost as fast as the hand-optimized code (w.r.t. symmetries).
There might be other bottlenecks in the assembly that may affect these
numbers but it suggests that the C++ compiler (gcc) does a pretty good
job.

I would appreciate any comments, suggestions or requests for features.

/Anders



Follow ups