Anders Logg wrote:
> Very nice!
> 
> Some comments:
> 
> 1. Beating uBLAS by a factor 3 is not that hard. 

A factor 3 is quite something if the matrix is in compressed row format. 
  DOLFIN assembly times into uBLAS, PETSc and Trilinos matrices are all 
very close to each other.

Didem Unat (PhD
> student at UCSD/Simula) and Ilmar have been looking at the assembly in
> DOLFIN recently. We've done some initial benchmarks and have started
> investigating how to speedup the assembly. Take a look at what happens
> when we assemble into uBLAS:
> 
>   (i)   Compute sparsity pattern
>   (ii)  Reset tensor
>   (iii) Assemble
> 
> For uBLAS, each of these steps is approximately an assembly process.
> I don't remember the exact numbers, but by just using an
> std::vector<std::map<int, double> > instead of a uBLAS matrix, one may
> skip (i) and (ii) and get a speedup.
>

You can do this with uBLAS too by using the uBLAS mapped_matrix (uses 
std::map internally) instead of compressed_matrix. The problem is that 
it is dead slow for matrix-vector multiplications. Most uBLAS sparse 
matrix types are faster to assemble than the compressed_matrix, but are 
slower to traverse.

Before the computation of the sparsity pattern was implemented, DOLFIN 
assembled into a uBLAS vector-of-compressed-vectors because it is quite 
fast to assemble uninitialised and can be converted quite quickly to a 
compressed row matrix. This approach may still have merit for some problems.

Garth

> We've just started and don't have anything to present yet.
> 
> 2. I've also looked at MTL before. We even considered using it as the
> main LA backend a (long) while back.
> 
> 3. With the new LA interfaces in place, I wouldn't mind having MTL as
> an optional backend.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev

_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to