← Back to team overview

dolfin team mailing list archive

Re: [HG dolfin] merge

 

On 12/6/06, Garth N. Wells <g.n.wells@xxxxxxxxxx> wrote:
>
>
> changeset:   2508:edf965fad4ef667f306873fe9194de2ed48bab7f
> parent:      2504:62956628ca1e84780c27c633a9bae5730a290148
> user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> date:        Wed Dec 06 15:42:42 2006 +0100
> files:       src/test/passembly/main.cpp
> description:
> Apply simple renumbering in parallel assembly test file.
>

I've implemented some simple renumbering, so it's possible now to
perform some simple parallel assembly benchmarks. For a touch over 4
million cells for Poisson with linear triangles on a dual processor
workstation, the timings (for assembly only) are

One process:                         9.5s
Two processes (with renumbering):    6.5s
Two processes (without renumbering): 18s

For the two process case without renumbering, about 10s of the total
time is spent on communication (calling MatMatAssemblyBegin(),
MatAssemblyEnd()). For the case with renumbering, this is only about
1.5s. The timings are a rough guide only as they're pretty erratic.

During assembly, all cells are looped over but their contribution is
only computed if they belong to the process. This could obviously be
done more cleverly which will improve the timings.

Garth

I simply used this Cell constructor:
dolfin::Cell dcell(mesh, cell_indices[iter]);

How did you partition the mesh here?

martin


Follow ups

References