← Back to team overview

dolfin team mailing list archive

Re: [HG] Make ODE benchmarks independent of PETSc.

 

On Mon, Aug 21, 2006 at 06:57:19PM +0200, Garth N. Wells wrote:
> 
> 
> Anders Logg wrote:
> > On Mon, Aug 21, 2006 at 05:09:05PM +0200, Garth N. Wells wrote:
> >> How does it compare now with PETSc?
> >>
> >> I've added and removed several times with the uBlas flag -NDEBUG when 
> >> using --enable-debug. Without it uBlas is too slow to be useful, and 
> >> with it some errors can (and have) crept in. We could add a configure 
> >> option flag --disable-ublas-debug?
> > 
> > Or we could let --enable-debug just mean DOLFIN debugging in general
> > and then have a flag --enable-ublas-debug for uBlas debugging (so it's
> > turned off by default).
> > 
> >> When using uBlas make sure that you use "alias" (e.g. alias(x) = y) 
> >> whenever possible. There are also some ways to speed up element access 
> >> for sparse vectors and matrices (see the last section on 
> >> http://www.boost.org/libs/numeric/ublas/doc/operations_overview.htm).
> > 
> > You mean noalias()?
> >
> 
> Yes.
> 
> Is the code for computing the sparsity pattern in the ODE solvers being 
> used? I thought that this could all be avoided when using uBlas?
> 
> Garth

Yes, it's used. The multi-adaptive solvers don't use any matrices at
all (except for virtual ones) and then it's important to be able to
iterate just over the dependencies of any given component.

/Anders

> 
> 
> 
> > /Anders
> > 
> >> Garth
> >>
> >>
> >> Anders Logg wrote:
> >>> Yes! Runs much faster than before now with --enable-optimization.
> >>>
> >>> Thanks
> >>> /Anders
> >>>
> >>>
> >>> On Mon, Aug 21, 2006 at 04:18:58PM +0200, Garth N. Wells wrote:
> >>>> Did you use --enable-debug? This slows uBlas down with a factor of about 10.
> >>>>
> >>>> Garth
> >>>>
> >>>> DOLFIN wrote:
> >>>>> One or more new changesets pushed to the primary DOLFIN repository.
> >>>>> A short summary of the last three changesets is included below.
> >>>>>
> >>>>> changeset:   2147:72ba0f91c6a891f8a088a5802000ee1c153113f6
> >>>>> tag:         tip
> >>>>> user:        "Anders Logg <logg@xxxxxxxxx>"
> >>>>> date:        Mon Aug 21 16:16:15 2006 +0200
> >>>>> files:       src/bench/ode/reaction/bench.log src/bench/ode/wave/bench.log 
> >>>>> src/bench/ode/wave/main.cpp
> >>>>> description:
> >>>>> Make ODE benchmarks independent of PETSc.
> >>>>> Benchmarks run slow compared to previous versions which used PETSc.
> >>>>> Need to find out what goes wrong.
> >>>>>
> >>>>>
> >>>>> changeset:   2146:549fe838f11c3fcdf1200e841fd52e1057337d23
> >>>>> user:        "Anders Logg <logg@xxxxxxxxx>"
> >>>>> date:        Mon Aug 21 14:41:20 2006 +0200
> >>>>> files:       ChangeLog src/kernel/mf/Makefile.in 
> >>>>> src/kernel/mf/MatrixFactory.cpp src/kernel/mf/dolfin/ConvectionMatrix.h 
> >>>>> src/kernel/mf/dolfin/Makefile.am src/kernel/mf/dolfin/Makefile.in 
> >>>>> src/kernel/mf/dolfin/MatrixFactory.h 
> >>>>> src/kernel/mf/dolfin/StiffnessMatrix.h src/kernel/mf/dolfin/dolfin_mf.h 
> >>>>> src/kernel/mf/ffc-forms/ConvectionMatrix2D.form 
> >>>>> src/kernel/mf/ffc-forms/ConvectionMatrix2D.h 
> >>>>> src/kernel/mf/ffc-forms/ConvectionMatrix3D.form 
> >>>>> src/kernel/mf/ffc-forms/ConvectionMatrix3D.h
> >>>>> description:
> >>>>> Add class ConvectionMatrix and corresponding class to matrix factory.
> >>>>>
> >>>>>
> >>>>> changeset:   2145:371b275e8b34d6b754ff79f29c75c87303cac868
> >>>>> user:        "Anders Logg <logg@xxxxxxxxx>"
> >>>>> date:        Mon Aug 21 14:24:53 2006 +0200
> >>>>> files:       ChangeLog src/kernel/mf/Makefile.in 
> >>>>> src/kernel/mf/MatrixFactory.cpp src/kernel/mf/dolfin/LoadVector.h 
> >>>>> src/kernel/mf/dolfin/Makefile.am src/kernel/mf/dolfin/Makefile.in 
> >>>>> src/kernel/mf/dolfin/MassMatrix.h src/kernel/mf/dolfin/MatrixFactory.h 
> >>>>> src/kernel/mf/dolfin/StiffnessMatrix.h src/kernel/mf/dolfin/dolfin_mf.h 
> >>>>> src/kernel/mf/ffc-forms/LoadVector2D.form 
> >>>>> src/kernel/mf/ffc-forms/LoadVector2D.h 
> >>>>> src/kernel/mf/ffc-forms/LoadVector3D.form 
> >>>>> src/kernel/mf/ffc-forms/LoadVector3D.h
> >>>>> description:
> >>>>> Add class LoadVector and corresponding static function to
> >>>>> MatrixFactory.
> >>>>>
> >>>>>
> >>>>> -------------------------------------------------------
> >>>>> For more details, visit http://www.fenics.org/hg/dolfin
> >>>>> _______________________________________________
> >>>>> 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
> > _______________________________________________
> > 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