← Back to team overview

dolfin team mailing list archive

[Bug 668862] Re: Sparsity pattern computation dead slow with 'real' spaces

 

I've done some testing, and using unordered_set appears to not perform
as well as Set for standard problems.

Each dof (matrix row) has its own set. The sets are usually small, and
independent of the mesh size. The problem is that the size of set that
belongs to the global dof is equal to the number of columns in the
matrix, and when looping over this set (which becomes very large)
std::find is called a lot.

I don't see simple solution from the SparsityPattern side. What's
probably needed is an extension to UFC to distinguish between local and
global dofs.

-- 
Sparsity pattern computation dead slow with 'real' spaces
https://bugs.launchpad.net/bugs/668862
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.

Status in DOLFIN: Confirmed

Bug description:
The computation of the sparsity pattern is dead slow when real spaces are used, i.e.,

    R = FunctionSpace(mesh, 'R', 0)

To see the problem, compare the neumann-poisson and poisson demos with fine meshes (256x256)





Follow ups

References