← Back to team overview

dolfin team mailing list archive

Re: Bug in BoundaryCondition::apply() with uBlas?

 



Dag Lindbo wrote:
Problem solved: We forgot the -DNDEBUG flag to the compiler (which means
uBLAS runs full bounds and conformity checking etc). Best to keep to the
'pkg-config' way of compiling :) Sorry.

  Dag

PS. Is NDEBUG defined by some header which happens to get included when
the LinearPDE is used? (this seems strange to me, but I really would like
to understand the different behaviors).


No. DOLFIN is compiled using -DNDEBUG, therefore when using LinearPDE from the DOLFIN library you don't see the slow down. uBLAS matrices are templated, that's why you see a slow down when not using -DNDEBUG and applying boundary conditions yourself.

Garth

Hi!

We've run into what appears to be a strange bug with applying boundary
conditions to uBlasMatrix. We implement assembly and boundary condition
application (BoundaryCondition::apply()) in two different ways: manually
and by LinearPDE. In the manual case (which replicates the LinearPDE
implementation), we see an extreme slowdown in what looks to be the
uBlasMatrix::ident() function. If we use the LinearPDE implementation the
performance is as expected.

I'm attaching a simple test case which demonstrates the issue. Has anyone
experienced a similar issue or has an idea what goes wrong?

This is with DOLFIN 0.7.2 (and should also appear with 0.7.1).

Thanks,
  Johan


_______________________________________________
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



References