← Back to team overview

dolfin team mailing list archive

Re: Assembly benchmark

 

On Mon, Jul 21, 2008 at 01:48:23PM +0100, Garth N. Wells wrote:
> 
> 
> Anders Logg wrote:
> > I have updated the assembly benchmark to include also MTL4, see
> > 
> >    bench/fem/assembly/
> > 
> > Here are the current results:
> > 
> > Assembly benchmark  |  Elasticity3D  PoissonP1  PoissonP2  PoissonP3  THStokes2D  NSEMomentum3D  StabStokes2D
> > -------------------------------------------------------------------------------------------------------------
> > uBLAS               |        9.0789    0.45645     3.8042     8.0736  14.937         9.2507        3.8455
> > PETSc               |        7.7758    0.42798     3.5483     7.3898  13.945         8.1632         3.258
> > Epetra              |        8.9516    0.45448     3.7976     8.0679  15.404         9.2341        3.8332
> > MTL4                |        8.9729    0.45554     3.7966     8.0759  14.94          9.2568        3.8658
> > Assembly            |         7.474    0.43673     3.7341     8.3793  14.633         7.6695        3.3878
> > 
> 
> How was the MTL4 matrix intialised? I don't know if it does anything 
> with the sparsity pattern yet. I've been intialising MTL4 matrices by 
> hand so far with a guess as to the max number of nonzeroes per row. 
> Without setting this, the performance is near idenetical to uBLAS. When 
> it is set, I observe at least a factor two speed up.
> 
> Garth

The same way as all other backends, which is by a precomputed
sparsity pattern. It looks like this is currently ignored in the
MTL4Matrix implementation:

void MTL4Matrix::init(const GenericSparsityPattern& sparsity_pattern)
{
  init(sparsity_pattern.size(0), sparsity_pattern.size(1));
}

-- 
Anders


> > The differences are very small, but this may be caused by
> > 
> > 1. Overhead from the Python wrappers.
> > 
> > 2. The computation of the sparsity pattern dominates.
> > 
> > I have plans to extract more fine-grained results (using the new
> > Timing class) so that we may report the time for computing the
> > sparsity pattern, initialization, and assembly separately.
> > 
> > 
> > 
> > ------------------------------------------------------------------------
> > 
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
> 
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev

Attachment: signature.asc
Description: Digital signature


Follow ups

References