matrix assembling time

Matthew Knepley knepley at
Tue Mar 17 10:47:27 CDT 2009

On Tue, Mar 17, 2009 at 11:41 AM, Ravi Kannan <rxk at> wrote:

> Hi Barry and others
> For the iterative solver, you mentioned there is much less to gain by
> reording.
> However, you also said we should have a reasonable ordering before
> generating the linear system.
> Suppose I already have already assembled a large system in parallel (with
> bad bandwidth),
> will reordering the system help to solve the system or not?

Possibly. However, why would you do that?

Do we have to do this before the assembling to PETSs solver?

Not sure what you mean here. You can compute an ordering at any time.

> In this case, I think we will need to renumbering all the nodes and/or
> cells, not only processor-wise but globally considering the ghost cells.
> Is there alternative way such as explicit asking PETSc to reordering the
> assembled linear system?

I do not see what you are asking here.


> Thank you.
> Ravi
> -----Original Message-----
> From: petsc-users-bounces at
> [mailto:petsc-users-bounces at]On Behalf Of Barry Smith
> Sent: Friday, March 13, 2009 6:55 PM
> To: PETSc users list
> Subject: Re: matrix assembling time
> On Mar 13, 2009, at 12:48 PM, Ravi Kannan wrote:
> > Hi,
> >    This is Ravi Kannan from CFD Research Corporation. One basic
> > question on
> > the ordering of linear solvers in PETSc: If my A matrix (in AX=B) is a
> > sparse matrix and the bandwidth of A (i.e. the distance between non
> > zero
> > elements) is high, does PETSc reorder the matrix/matrix-equations so
> > as to
> > solve more efficiently.
>      Depends on what you mean. All the direct solvers use reorderings
> automatically
> to reduce fill and hence limit memory and flop usage.
>      The iterative solvers do not. There is much less to gain by
> reordering for iterative
> solvers (no memory gain and only a relatively smallish improved cache
> gain).
>    The "PETSc approach" is that one does the following
> 1) partitions the grid across processors (using a mesh partitioner)
> and then
> 2) numbers the grid on each process in a reasonable ordering
> BEFORE generating the linear system. Thus the sparse matrix
> automatically gets
> a good layout from the layout of the grid. So if you do 1) and 2) then
> no additional
> reordering is needed.
>    Barry

What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list