← Back to team overview

dolfin team mailing list archive

Re: benchmarking

 

Johan Jansson wrote:
Anders Logg wrote:
On Tue, Jan 15, 2008 at 10:22:41PM -0500, Gideon Simpson wrote:
Scratch that.  I discovered COMSOL does something very nice that boosts the
quality of its results.  If I have a curved boundary on my geometry, COMSOL
will interpolate the associated quadrature on the cells along that boundary to
improve accuracy.  When I turn that feature off, the results are consistent
with what I'm getting from FEniCS.

But the question remains: are there any benchmarks?
I think Andy Terrel did a few benchmarks which were actually for
Stokes. Lot's of things have happened since, but if he reads this he
can probably point you to a copy of his master thesis on the subject.

Although I don't have any numbers, I expect the assembly of the linear
system to be very fast in DOLFIN (or we did something wrong and can
fix it).

For the linear solve, we just trust PETSc and the preconditioners
available there.

For the method, it's up to you to formulate it using any of the
elements available in DOLFIN. The speed/accuracy will depend on the
choice of element.
I helped a colleague with a project where we solved the same problem (Poisson with tensor coefficients) with FEniCS and Comsol. Though we didn't do any detailed benchmarks, it seemed that FEniCS was several factors faster (and also several factors more memory conservative), this was also the reason for trying out FEniCS: that Comsol was inefficient.

If there are people interested in a benchmark project (i.e. a paper or course project) we could collect benchmark problems with implementations in various systems and do detailed benchmarking. I also expect FEniCS to come out on top in assembly. If it's the case that it's several factors faster, then perhaps it's important that it's documented.

  Johan

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev

So if you are interested in some benchmarks for the Stokes equations, there are way too many numbers in my master's thesis ( http://people.cs.uchicago.edu/~aterrel/Masters/paper.pdf ). The study was more about testing out the numerical accuracy of the many methods of solving stokes with some passing notes as to the performance. We used FEniCS and Sundance codes. Generally the codes did the same things except for features that were more a product of design rather than bugs.

Sure its a benchmark in the sense that we took a well studied problem and saw the right rate of convergence with both Sundance and FEniCS. But I would be hesitant to call one code better just because the feature sets seem to be so different, and I expect the same would be true for COMSOL. I would be pretty surprised it COMSOL handled all the elements that FEniCS now does, but doing fancier things with the boundary seems more appropriate for their audience. If I had my druthers, once FEniCS finally becomes parallel, I would hook up lots of instrumentation to do some harder benchmarks on large problems. To me that seems to be the major factor that separates these codes, problem size rather than runtime.
-- Andy

--

====================
Andy Terrel
Computer Science Dept
University of Chicago
aterrel@xxxxxxxxxxxx
---------------------

2 is not equal to 3, not even for large values of 2.
           -Grabel's Law



References