# matrix assembling time

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

```  -----Original Message-----
From: petsc-users-bounces at mcs.anl.gov
[mailto:petsc-users-bounces at mcs.anl.gov]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 cfdrc.com> 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.

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

Matt

Thank you.

Ravi

-----Original Message-----
From: petsc-users-bounces at mcs.anl.gov
[mailto:petsc-users-bounces at mcs.anl.gov]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
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