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
