[Dune] Fwd: Re: Error in implementing PAAMG using dune-istl

Kumar, Paras paras.kumar at fau.de
Thu Dec 14 15:57:42 CET 2017


Hi,

1. The coarsentarget has been set to ct=3 (<size=32) so that coarsening 
happens. If I set ct=200(>size=32), there is no segfault for size=32 
(probably because no coarsening happens). This works until size <= 1024 
for #cpu=8, but for size =2048, I again get a segfault. Also, for 
size=1024, we get a segfault for #cpu=4

2. with ct =200, size =1024 we have

for serial code : Level 0 has 1025 unknowns, 1025 unknowns per proc 
(procs=1)

for #cpu=2 : Level 0 has 1025 unknowns, 512.5 unknowns per proc 
(procs=2) [segfault]

for #cpu=4 : Level 0 has 1025 unknowns, 256.25 unknowns per proc 
(procs=4) [segfault]

for #cpu=8 : Level 0 has 1025 unknowns, 128.125 unknowns per proc 
(procs=8) [runs successfully]

for #cpu=16 : Level 0 (redistributed) has 1029 unknowns, 343 unknowns 
per proc (procs=3) [runs successfully]; why 1029 unknowns ??

With best regards,
Paras

-------- Original Message --------
Subject: Re: [Dune] Error in implementing PAAMG using dune-istl
Date: 2017-12-14 14:44
 From: Markus Blatt <markus at dr-blatt.de>
To: dune at lists.dune-project.org

On Thu, Dec 14, 2017 at 02:15:46PM +0100, Kumar, Paras wrote:
> Unfortunately, switching to typedef 
> Dune::Amg::CoarsenCriterion<Dune::Amg::UnSymmetricCriterion<DuneMatrixType,Dune::Amg::FirstDiagonal>
> Criterion; does not help.

Please start your program under gdb and check for which matrix entries
this happens. AFAIK the only matrix entries expected here is the
(0,0) entry of each diagonal block. That should be there right?

> 
> Another point is that for 2 process and 33 unknowns it shows,
> 
> Level 0 has 33 unknowns, 16.5 unknowns per proc (procs=2)
> 
> Probably, the distribution of indexes across processes is not happening
> properly. Do I need to somehow ensure the linking of the Matrix index 
> set to
> the DuneComm object.

That looks distributed to me. Each process has about 16 unknowns. But
maybe I misunderstood you?

You are aware that with the default settings (coarsenTarget=2000) no
coarsening takes place here and the algorithm will simply gather the
matrix on process and solve directly. Which means more work the more
processes you employ.

Markus




More information about the Dune mailing list