← Back to team overview

dolfin team mailing list archive

Re: mtl4 sandbox

 



Anders Logg wrote:
On Thu, Jul 17, 2008 at 11:19:09PM +0100, Garth N. Wells wrote:
It's now easy to play with the sandbox programs in

   sandbox/mtl4/poisson_bench
   sandbox/mtl4/nse_bench

All you need to do is set the environment variable MTL4_DIR to point to the MTL4 source, and then run scons in the relevant directory.

Works fine here.

What's clear is that we should take a look at the efficiency of the sparsity computation. In particular, there are some virtual functions calls which can possibly be avoided, or at least minimised. Even when using MTL4 for general problems it will be necessary to compute some form of a sparsity pattern to estimate the number of nonzeros per row.

It would be useful to use the same assembler for MTL4 as is used for other linear algebra backends to see what influence that has.

I think it would be good to move the MTL4 interface into dolfin/la as
soon as possible. The missing functions can return an error until they
have been fixed.


Agree. I'll add it today.

Then we should include MTL4 in the main assembly benchmark which is

    bench/fem/assembly/

If possible, we should figure out a way to run this benchmark
regularly (like we do with the buildbot) so we can check for
regressions.

The results for uninitialised MTL4 matrices are indeed impressive, as is the re-assembly time for Navier-Stokes.

uBLAS and PETSc deliver almost identical performance for all tests.

Here's what I get on my laptop (for n = 32). Do you get similar
results?

  Summary:                MTL4  uBLAS
  First matrix assembly   2.95  7.99
  Matrix re-assembly      2.51  3.58
  Vector    assembly      2.38  2.49


I get something like this. The timings for Poisson are generally closer than for Navier-Stokes.

Garth



------------------------------------------------------------------------

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




References