Stalling once linear system becomes a certain size

Matthew Knepley knepley at gmail.com
Mon Apr 7 08:34:19 CDT 2008


It sounds like he is saying that the iterative solvers fail to
converge. It could be
that the systems become much more ill-conditioned. When solving anything,
first use LU

  -ksp_type preonly -pc_type lu

to determine if the system is consistent. Then use something simple, like
GMRES by itself

  -ksp_type gmres -pc_type none -ksp_monitor_singular_value
-ksp_gmres_restart 500

to get an idea of the condition number. Then start trying other solvers and PCs.

   Matt

On Mon, Apr 7, 2008 at 8:28 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>
> On Mon, 7 Apr 2008, David Knezevic wrote:
>
>  > Hello,
>  >
>  > I am trying to run a PETSc code on a parallel machine (it may be relevant that
>  > each node contains four AMD Opteron Quad-Core 64-bit processors (16 cores in
>  > all) as an SMP unit with 32GB of memory) and I'm observing some behaviour I
>  > don't understand.
>  >
>  > I'm using PETSC_COMM_SELF in order to construct the same matrix on each
>  > processor (and solve the system with a different right-hand side vector on
>  > each processor), and when each linear system is around 315x315 (block-sparse),
>  > then each linear system is solved very quickly on each processor (approx
>  > 7x10^{-4} seconds), but when I increase the size of the linear system to
>  > 350x350 (or larger), the linear solves completely stall. I've tried a number
>  > of different solvers and preconditioners, but nothing seems to help. Also,
>  > this code has worked very well on other machines, although the machines I have
>  > used it on before have not had this architecture in which each node is an SMP
>  > unit. I was wondering if you have observed this kind of issue before?
>  >
>  > I'm using PETSc 2.3.3, compiled with the Intel 10.1 compiler.
>
>  I would sugest running the code in a debugger to determine the exact
>  location where the stall happens [with the minimum number of procs]
>
>  mpiexec -n 4 ./exe -start_in_debugger
>
>  By default the above tries to open xterms on the localhost - so to get
>  this working on the cluster - you might need proper
>  ssh-x11-portforwarding setup to the node, and then use the extra
>  command line option '-display'
>
>  [when the job kinda hangs - I would do ctrl-c in gdb and look at the
>  stack trace on each mpi-thread]
>
>  Satish
>
>



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




More information about the petsc-users mailing list