dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #04127
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
Anders Logg skrev den 15/01-2007 følgende:
> On Mon, Jan 15, 2007 at 06:38:07PM +0100, kent-and@xxxxxxxxx wrote:
> > > On Mon, Jan 15, 2007 at 05:58:46PM +0100, Garth N. Wells wrote:
> > >>
> > >>
> > >> Anders Logg wrote:
> > >> > On Thu, Dec 07, 2006 at 01:12:41AM +0100, Garth N. Wells wrote:
> > >> >
> > >> >>>> I'll add shortly the possibility to run the Cuthill-McKee over the
> > >> map
> > >> >>>> and reorder it. This will be an option.
> > >> >>> What is Cuthill-McKee?
> > >> >> It's the most common reordering algorithm. It will probably improve
> > >> the
> > >> >> sparse matrix performance.
> > >> >
> > >> > How about using the Boost Graph Library for this?
> > >> >
> > >> > http://www.boost.org/libs/graph/doc/table_of_contents.html
> > >> > http://www.boost.org/libs/graph/doc/cuthill_mckee_ordering.html
> > >> >
> > >> > We already have a boost dependence so another one is no problem.
> > >> >
> > >>
> > >> Sure, if it's in Boost I'd much rather use it than implement it myself.
> > >
> > > I've started looking at it and might commit something tonight.
> > >
> > >> I will start with a class Assembler soon. This is related in some ways
> > >> to DofMap, matrix layout, reuse, etc. We could then create a class
> > >> "pAssembler" for experimental parallel assembly which should eventually
> > >> merge back into Assembler.
> > >>
> > >> Garth
> > >
> > > I'm also about to start working on an Assembler class that works with
> > > the UFC generated code. Should we work together on the new Assembler
> > > class? Alternatively, I could open a separate UFCAssembler class (to
> > > be merged)?
> > >
> >
> > Have you looked at the Martins (UFC) Assembler ? You should have
> > a look at it. So far we have implemented the assembler for PyCC, stl-map, and
> > Epetra matrices as well as a "matrix-free" matrices.
> > We have planned to include dolfin and PETSc matrices as well but have not
> > had the time to do it. It should not be hard.
> >
> > Kent
>
> Yes, but Martin's assembler is in PyCC so we can't use it. PyCC is
> not yet free and DOLFIN can't depend on PyCC.
There is no problem opening the parts of PyCC that you need. Now, there is
only a question of time (and code quality) before PyCC is open.
Alternatively, we can split PyCC into a "core kernel" (or something like that
:), and rewrite the rest of PyCC such that it uses it. The "core kernel" could
be licenced any way we see fit.
Would this be of any help, or do you need a faster solution?
Ola
> So we need to (re-)implement it in DOLFIN. It might seem silly to have
> two implementations doing the same thing but I don't see any other
> solution. The good thing might be that we'll be able to compare the
> speed of the two assemblers which will help optimize both codes.
>
> /Anders
>
Follow ups
References
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Garth N. Wells, 2006-12-06
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Anders Logg, 2006-12-06
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Garth N. Wells, 2006-12-06
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Anders Logg, 2006-12-06
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Garth N. Wells, 2006-12-07
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Anders Logg, 2007-01-14
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Garth N. Wells, 2007-01-15
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Anders Logg, 2007-01-15
-
Re: [HG dolfin] Use DofMap in FEM to get dof mapping and to compute number of nonzeroes per matrix row. This gives big memory savings for some problems. For /src/demo/pde/elasticity memory use was approx. 600mb, now 200mb.
From: Anders Logg, 2007-01-15