[petsc-dev] Fwd: [petsc-maint #57017] Hypre

Jed Brown jed at 59A2.org
Thu Dec 2 13:38:49 CST 2010


On Thu, Dec 2, 2010 at 18:21, Matthew Knepley <knepley at gmail.com> wrote:

> Yes, you just captures the indices. You could even split up velocity
> components as well. I do
> for elasticity, but for Laplace it probably not necessary.
>

I don't know where Laplace entered the discussion.  You can split the
components in the viscous part, it tends to make it less likely that
incomplete factorization will produce negative pivots, and sometimes leads
to a faster solver, but it is more data movement, usually more
synchronization points, and definitely lower flop/s, so it's far from a
clear win.

> Regarding all this, I have to mention that until now I've had to reorder
>> > my matrix elements with
>> >
>> > -pc_factor_mat_ordering_type rcm
>> >
>> > because it seems like the nodes of my mesh are not numbered
>> > appropriately. How should I proceed for parallel computations? In
>> > sequential, I gain about a factor 8 in CPU time doing this.
>>
>
> You can do that same thing on each process. However, I would reorder my
> mesh
> up front.
>

I also recommend reordering the mesh up-front, -pc_factor_mat_ordering_type
only changes the order in which factorization occurs, it doesn't change the
ordering of unknowns in the vector so the matrix kernels will not see the
higher throughput that comes from getting the vector to properly reuse
cache.

Jed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101202/e77b01fc/attachment.html>


More information about the petsc-dev mailing list