<div dir="ltr"><div class="gmail_extra">OK, but how should I proceed?</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 24, 2016 at 4:47 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Jun 24, 2016, at 9:35 AM, Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> wrote:<br>
><br>
> Barry,<br>
><br>
> ASM worked before GASM existed. I've never heard of GASM until yesterday, other than seeing the directory in the source.<br>
<br>
</span> Pretty impressive you never heard of GASM and yet YOU put the GASM code into GAMG<br>
<br>
a2f3521de src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2012-05-01 12:48:43 -0400 604)<br>
a2f3521de src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2012-05-01 12:48:43 -0400 605) /* set defaults */<br>
806fa848a src/ksp/pc/impls/gamg/gamg.c (Barry Smith 2013-01-02 02:05:45 -0600 606) ierr = KSPSetType(smoother, KSPCHEBYSHEV);CHKERRQ(ierr);<br>
ffc955d6d src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2012-03-27 19:09:54 -0400 607)<br>
1b18a24a4 src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2013-11-02 15:56:24 -0400 608) /* set blocks for GASM smoother that uses the 'aggregates' */<br>
806fa848a src/ksp/pc/impls/gamg/gamg.c (Barry Smith 2013-01-02 02:05:45 -0600 609) if (pc_gamg->use_aggs_in_gasm) {<br>
2d3561bba src/ksp/pc/impls/gamg/gamg.c (Satish Balay 2012-03-29 12:58:42 -0500 610) PetscInt sz;<br>
2fa5cd679 src/ksp/pc/impls/gamg/gamg.c (Karl Rupp 2013-01-30 22:53:06 -0600 611) IS *is;<br>
a2f3521de src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2012-05-01 12:48:43 -0400 612)<br>
2fa5cd679 src/ksp/pc/impls/gamg/gamg.c (Karl Rupp 2013-01-30 22:53:06 -0600 613) sz = nASMBlocksArr[level];<br>
2fa5cd679 src/ksp/pc/impls/gamg/gamg.c (Karl Rupp 2013-01-30 22:53:06 -0600 614) is = ASMLocalIDsArr[level];<br>
806fa848a src/ksp/pc/impls/gamg/gamg.c (Barry Smith 2013-01-02 02:05:45 -0600 615) ierr = PCSetType(subpc, PCGASM);CHKERRQ(ierr);<br>
1b18a24a4 src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2013-11-02 15:56:24 -0400 616) ierr = PCGASMSetOverlap(subpc, 0);CHKERRQ(ierr);<br>
7f66b68fb src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2015-08-11 09:52:40 -0400 617) if (!sz) {<br>
2fa5cd679 src/ksp/pc/impls/gamg/gamg.c (Karl Rupp 2013-01-30 22:53:06 -0600 618) IS is;<br>
ffc955d6d src/ksp/pc/impls/gamg/gamg.c (Mark Adams 2012-03-27 19:09:54 -0400 619) PetscInt my0,kk;<br>
806fa848a src/ksp/pc/impls/gamg/gamg.c (Barry Smith 2013-01-02 02:05:45 -0600 620) ierr = MatGetOwnershipRange(Aarr[level], &my0<br>
<br>
I think you put in the GASM but then forgot and thought you put in ASM.<br>
<div class="HOEnZb"><div class="h5"><br>
> It has been so long, I could probably hunt for a working version, but who cares, we are going to roll back 5 years?<br>
><br>
><br>
> > In branch mark/gamg-agg-asm in ksp ex56, 'make runex56':<br>
><br>
> I don't care about this! This is where you have tried to change from GASM to ASM which I told you is non-trivial.<br>
> Give me the example and command line where the GASM version in master (or maint) doesn't work where the error message includes ** Max-trans not allowed because matrix is distributed<br>
><br>
> Why do you want to debug GASM? I thought we wanted to use ASM. It is not clear why converting from GASM to ASM is non-trivial, I could have done this from the command line. This use aggregate-asm stuff just does what a clever user might do.<br>
><br>
><br>
> We are not communicating very well, you jumped from stating GASM crashed to monkeying with ASM and now refuse to tell me how to reproduce the GASM crash.<br>
><br>
> I don't think you want to mess with GASM, BUT if you run ksp/ex56 with:<br>
><br>
> -pc_gamg_use_agg_gasm -mg_levels_pc_type gasm<br>
><br>
> and remove the existing -mg_levels_pc_type sor, you should see an error that Garth and I saw (eg, appended).<br>
><br>
><br>
> We have to start by fixing the current code to work with GASM (if it ever worked) and then move on to using ASM (which is just an optimization of the GASM usage.)<br>
><br>
><br>
> Are you sure? I am deep into debugging asm with DDT. I can switch to GASM by just calling the GASM set block method and use gasm in the PC, and continue with DDT debugging.<br>
><br>
> Let me know.<br>
><br>
><br>
> 16:29 master *= ~/Codes/petsc/src/ksp/ksp/examples/tutorials$ make runex56<br>
> 1,4c1,85<br>
> < Linear solve converged due to CONVERGED_RTOL iterations 8<br>
> < Linear solve converged due to CONVERGED_RTOL iterations 8<br>
> < Linear solve converged due to CONVERGED_RTOL iterations 8<br>
> < [0]main |b-Ax|/|b|=1.940043e-04, |b|=4.969822e+00, emax=9.926090e-01<br>
> ---<br>
> > [1]PETSC ERROR: ------------------------------------------------------------------------<br>
> > [1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
> > [1]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>
> > [1]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><br>
> > [1]PETSC ERROR: [2]PETSC ERROR: ------------------------------------------------------------------------<br>
> > [2]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
> > [2]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>
> > [2]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><br>
> > [2]PETSC ERROR: or try <a href="http://valgrind.org" rel="noreferrer" target="_blank">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>
> > [6]PETSC ERROR: ------------------------------------------------------------------------<br>
> > [6]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
> > [6]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>
> > [6]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><br>
> > [6]PETSC ERROR: or try <a href="http://valgrind.org" rel="noreferrer" target="_blank">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>
> > [4]PETSC ERROR: ------------------------------------------------------------------------<br>
> > [4]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
> > [4]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>
> > [4]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><br>
> > [4]PETSC ERROR: or try <a href="http://valgrind.org" rel="noreferrer" target="_blank">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>
> > [6]PETSC ERROR: likely location of problem given in stack below<br>
> > [6]PETSC ERROR: --------------------- Stack Frames ------------------------------------<br>
> > [6]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,<br>
> > [6]PETSC ERROR: INSTEAD the line number of the start of the function<br>
> > [6]PETSC ERROR: is given.<br>
> > [6]PETSC ERROR: [6] MatGetSubMatrices_MPIAIJ_Local line 1228 /Users/markadams/Codes/petsc/src/mat/impls/aij/mpi/mpiov.c<br>
> > [6]PETSC ERROR: [6] MatGetSubMatrices_MPIAIJ line 1131 /Users/markadams/Codes/petsc/src/mat/impls/aij/mpi/mpiov.c<br>
> > [6]PETSC ERROR: [6] MatGetSubMatricesMPI_MPIXAIJ line 2163 /Users/markadams/Codes/petsc/src/mat/impls/aij/mpi/mpiov.c<br>
> > [6]PETSC ERROR: [6] MatGetSubMatricesMPI_MPIAIJ line 2418 /Users/markadams/Codes/petsc/src/mat/impls/aij/mpi/mpiov.c<br>
> > [6]PETSC ERROR: [6] MatGetSubMatricesMPI line 6805 /Users/markadams/Codes/petsc/src/mat/interface/matrix.c<br>
> > [6]PETSC ERROR: [6] PCSetUp_GASM line 357 /Users/markadams/Codes/petsc/src/ksp/pc/impls/gasm/gasm.c<br>
> > [6]PETSC ERROR: [6] PCSetUp line 930 /Users/markadams/Codes/petsc/src/ksp/pc/interface/precon.c<br>
> > [6]PETSC ERROR: [6] KSPSetUp line 305 /Users/markadams/Codes/petsc/src/ksp/ksp/interface/itfunc.c<br>
> > [6]PETSC ERROR: [6] PCSetUp_MG line 561 /Users/markadams/Codes/petsc/src/ksp/pc/impls/mg/mg.c<br>
> > [6]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>
> > [6]PETSC ERROR: Signal received<br>
<br>
</div></div></blockquote></div><br></div></div>