matrix assembling time

Ravi Kannan rxk at
Tue Mar 17 13:15:36 CDT 2009

  -----Original Message-----
  From: petsc-users-bounces at
[mailto:petsc-users-bounces at]On Behalf Of Matthew Knepley
  Sent: Tuesday, March 17, 2009 9:47 AM
  To: PETSc users list
  Subject: Re: matrix assembling time

  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
    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
    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.


    -----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
    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

       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.


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

More information about the petsc-users mailing list