<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1611" name=GENERATOR></HEAD>
<BODY>
<DIV> </DIV>
<BLOCKQUOTE>
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B>
petsc-users-bounces@mcs.anl.gov [mailto:petsc-users-bounces@mcs.anl.gov]<B>On
Behalf Of </B>Matthew Knepley<BR><B>Sent:</B> Tuesday, March 17, 2009 9:47
AM<BR><B>To:</B> PETSc users list<BR><B>Subject:</B> Re: matrix assembling
time<BR><BR></FONT></DIV>On Tue, Mar 17, 2009 at 11:41 AM, Ravi Kannan <SPAN
dir=ltr><<A href="mailto:rxk@cfdrc.com">rxk@cfdrc.com</A>></SPAN>
wrote:<BR>
<DIV class=gmail_quote>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi
Barry and others<BR><BR>For the iterative solver, you mentioned there is
much less to gain by<BR>reording.<BR>However, you also said we should have a
reasonable ordering before<BR>generating the linear system.<BR><BR>Suppose I
already have already assembled a large system in parallel (with<BR>bad
bandwidth),<BR>will reordering the system help to solve the system or
not?</BLOCKQUOTE>
<DIV><BR>Possibly. However, why would you do that? <BR><BR></DIV>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Do
we have to do this before the assembling to PETSs solver?</BLOCKQUOTE>
<DIV><BR>Not sure what you mean here. You can compute an ordering at any
time.<BR> </DIV>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><BR>In
this case, I think we will need to renumbering all the nodes
and/or<BR>cells, not only processor-wise but globally considering the ghost
cells.<BR>Is there alternative way such as explicit asking PETSc to
reordering the<BR>assembled linear system?</BLOCKQUOTE>
<DIV><BR>I do not see what you are asking here.<BR><BR>
Matt<BR> </DIV>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><BR>Thank
you.<BR><BR>Ravi<BR><BR><BR>-----Original Message-----<BR>From: <A
href="mailto:petsc-users-bounces@mcs.anl.gov">petsc-users-bounces@mcs.anl.gov</A><BR>[mailto:<A
href="mailto:petsc-users-bounces@mcs.anl.gov">petsc-users-bounces@mcs.anl.gov</A>]On
Behalf Of Barry Smith<BR>Sent: Friday, March 13, 2009 6:55 PM<BR>To: PETSc
users list<BR>Subject: Re: matrix assembling time<BR><BR><BR><BR>On Mar 13,
2009, at 12:48 PM, Ravi Kannan wrote:<BR><BR>> Hi,<BR>>
This is Ravi Kannan from CFD Research Corporation. One basic<BR>>
question on<BR>> the ordering of linear solvers in PETSc: If my A matrix
(in AX=B) is a<BR>> sparse matrix and the bandwidth of A (i.e. the
distance between non<BR>> zero<BR>> elements) is high, does PETSc
reorder the matrix/matrix-equations so<BR>> as to<BR>> solve more
efficiently.<BR><BR> Depends on what you mean. All the
direct solvers use reorderings<BR>automatically<BR>to reduce fill and hence
limit memory and flop usage.<BR><BR> The iterative
solvers do not. There is much less to gain by<BR>reordering for
iterative<BR>solvers (no memory gain and only a relatively smallish improved
cache<BR>gain).<BR><BR> The "PETSc approach" is that one does
the following<BR>1) partitions the grid across processors (using a mesh
partitioner)<BR>and then<BR>2) numbers the grid on each process in a
reasonable ordering<BR>BEFORE generating the linear system. Thus the sparse
matrix<BR>automatically gets<BR>a good layout from the layout of the grid.
So if you do 1) and 2) then<BR>no additional<BR>reordering is
needed.<BR><BR> Barry<BR><BR><BR></BLOCKQUOTE></DIV><BR><BR
clear=all><BR>-- <BR>What most experimenters take for granted before they
begin their experiments is infinitely more interesting than any results to
which their experiments lead.<BR>-- Norbert
Wiener<BR></BLOCKQUOTE></BODY></HTML>