dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #00108
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