DirichletBC::zero_columns is very slow

Bug #1129092 reported by James Maddison
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
New
Undecided
Unassigned

Bug Description

The DirichletBC::zero_columns method makes a large number of calls to the apply method, making this very slow. The efficiency could be improved by caching the required matrix modifications and applying them all at once.

Revision history for this message
Garth Wells (garth-wells) wrote :

When is this function required? The performance will be terrible in parallel.

Revision history for this message
James Maddison (jamesmadd) wrote :

I've used this for symmetric bc application. I have a very specific case where full system assembly is not appropriate -- for example, the RHS vector may have been cached without bcs, and then just the bc term needs to be added. I'm open to using an alternative approach if one is appropriate.

What is the cause of a loss of parallel performance?

Revision history for this message
Garth Wells (garth-wells) wrote : Re: [Bug 1129092] Re: DirichletBC::zero_columns is very slow

On 18 February 2013 19:05, James Maddison <email address hidden> wrote:
> I've used this for symmetric bc application. I have a very specific case
> where full system assembly is not appropriate -- for example, the RHS
> vector may have been cached without bcs, and then just the bc term needs
> to be added. I'm open to using an alternative approach if one is
> appropriate.
>

It's easy to write a cut-down assembler for special applications.

> What is the cause of a loss of parallel performance?
>

It will be bad is serial, and worse in parallel, because the matrix is
stored in compressed sparse row format. Finding column entries
requires a lot of searching. Columns are spread across processes.

Garth

> --
> You received this bug notification because you are a member of DOLFIN
> Core Team, which is subscribed to DOLFIN.
> https://bugs.launchpad.net/bugs/1129092
>
> Title:
> DirichletBC::zero_columns is very slow
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/dolfin/+bug/1129092/+subscriptions

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.