← Back to team overview

dolfin team mailing list archive

profiling assembly

 

Hello!

I'm looking at a "suspiciously slow" assembly and would like to
determine what is going on. In general, what should one expect the most
time-consuming step to be?

This is what my gprof looks like:

Time:
61.97%  unsigned int const* std::lower_bound
25.84%  dolfin::uBlasMatrix<...>::add
8.27%   UFC_NSEMomentum3DBilinearForm_cell_integral_0::tabulate_tensor
1.1%    dolfin::uBlasMatrix<...>::init

The element is linear on tetrahedra, and with a mesh of roughly 90k
vertices assembling a system of size 290k x 290k takes about 20 seconds
on my workstation (second swing takes about half that time if the matrix
is not reset).

Thanks!
Dag