← Back to team overview

dolfin team mailing list archive

Re: Assembly speed

 

On Tue, Jul 22, 2008 at 10:05 AM, Martin Sandve Alnæs
<martinal@xxxxxxxxx> wrote:
> UFC 1.1 already has a function for tabulating the number of dofs
> associated with each mesh entity, but I don't think FFC implements UFC
> 1.1 completely yet. Shouldn't this be all that's needed from FFC for
> DOLFIN to compute/estimate the max non-zeroes per row? Sum the local
> dimension of all elements and subtract the number of dofs for each
> entity shared by neighbouring elements.

I am not sure how it is implemented in UFC, but note that the algorithm stated
above is inadequate to allocate both diagonal and offdiagonal blocks.

 Matt

> --
> Martin
>
>
> 2008/7/22 Garth N. Wells <gnw20@xxxxxxxxx>:
>> I've been testing assembly with various back-ends, and the bottleneck is
>> std::map::insert(..). I don't see an easy away around this which would
>> yield the complete sparsity pattern.
>>
>> For various back-ends (PETSc, MTL4, and perhaps Trilinos), I would
>> suggest that we go back to how we initialised matrices before the
>> introduction of the sparsity pattern, where based on the number of
>> neighbours to each cell and the finite element dimension, the maximum
>> number of non-zeroes per row was estimated. With this information, there
>> is no time overhead in assembling PETSc and MTL4 matrices relative to
>> using the complete sparsity pattern.
>>
>> A more sophisticated but complex approach would be to allow FFC to help
>> compute the maximum number of non-zeroes. How hard would it be for FFC
>> to compute the maximum number of non-zeroes per row given the number of
>> neighbours of a mesh entity? Using FFC, it would be possible to take
>> into account the type of finite element.
>>
>> Garth
>> _______________________________________________
>> DOLFIN-dev mailing list
>> DOLFIN-dev@xxxxxxxxxx
>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener


References