dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #08799
Re: Assembly benchmark
Anders Logg wrote:
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
I specified in MTL4Matrix maximum 30 nonzeroes per row, and the results
change quite a bit,
Assembly benchmark | Elasticity3D PoissonP1 PoissonP2 PoissonP3
THStokes2D NSEMomentum3D StabStokes2D
-------------------------------------------------------------------------------------------------------------
uBLAS | 7.1881 0.32748 2.7633 5.8311
10.968 7.0735 2.8184
PETSc | 5.7868 0.30673 2.5489 5.2344
9.8896 6.069 2.3661
MTL4 | 2.8641 0.18339 1.6628 2.6811
2.8519 3.4843 0.85029
Assembly | 5.5564 0.30896 2.6858 5.9675
10.622 5.7144 2.4519
MTL4 is a lot faster in all cases.
Garth
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));
}
------------------------------------------------------------------------
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
Follow ups
References