← Back to team overview

dolfin team mailing list archive

Re: profiling an assembly

 

>
> Dag: A test suite/benchmark would be very good to have. We need to
> have something in bench/fem/assembly that we can trust and run
> regularly to make sure we don't have regressions.
>

Here is a suite of performance tests for the dolfin assembler:
http://www.csc.kth.se/~dag/dolfin/dolfin_assembler_bench.tar.gz

It does seven tests. Assembly and reassembly of the following (bilinear)
forms:
Elasticity (3d), Incompressible NS Momentum (3d), Laplace on linear (2d),
Laplace on quadratic (2d), Laplace on cubic (2d), Stokes TH (2d), Stokes
stabilized (2d). This seems to me to be a blend of different types of
forms.

The design of these tests is as modular as possible, so one can easily add
more tests. The top-level SConstruct builds the whole thing. Run with
run_tests.py

The output as produced by by workstation (2.4GHz Core2Duo, 2gb ddr2, 32bit
os) using the uBlas backend:
http://www.csc.kth.se/~dag/dolfin/results_uBlas_opt
There clearly is a spread in assembler performance for different forms.

I suspect that you want to tweak the assembly_tester function to make it
backend-invariant.

Enjoy!
/Dag



Follow ups

References