[petsc-dev] Broken snes_tutorials-ex20_2d_p1_gmg_vcycle_cr and CRSetup_Private()

Stefano Zampini stefano.zampini at gmail.com
Wed Aug 4 07:50:20 CDT 2021


Matt,

I’m fine flagging the test as broken for now
Actually, this test has always been broken….
As Pierre said, if we make these matrices inherit from MatShell, we get shift and scale for free


> On Aug 4, 2021, at 10:13 AM, Pierre Jolivet <pierre at joliv.et> wrote:
> 
> Hello,
> Up until very recently, MatGetOwnershipRange() was returning only zeros for any MATNORMAL (thanks Stefano for the help fixing that https://gitlab.com/petsc/petsc/-/merge_requests/4182#note_640848528 <https://gitlab.com/petsc/petsc/-/merge_requests/4182#note_640848528>).
> In CRSetup_Private(), there is a call to MatCreateNormal() followed by MatShift().
> Since ops->shift = NULL for MATNORMAL, code goes into MatShift_Basic().
> There, a for loop goes from “start” to “end”, but the values were previously only 0.
> Now that MatGetOwnershipRange() has been fixed for MATNORMAL, the bounds are nonzero, and snes_tutorials-ex20_2d_p1_gmg_vcycle_cr fails because MATNORMAL has no ops->setvalues
> What is the proper fix or how can I bypass the issue? Would it be OK to (temporarily) mark this test as broken?
> Previous code was obviously not doing what was intended in theory, but yet I’m guessing numerically everything was OK?
> I’m thinking https://gitlab.com/petsc/petsc/-/issues/972 <https://gitlab.com/petsc/petsc/-/issues/972> should do the trick, but this is somehow orthogonal to my developments, which are now blocked because of failing pipelines in snes_tutorials-ex20_2d_p1_gmg_vcycle_cr (https://gitlab.com/petsc/petsc/-/jobs/1475595231 <https://gitlab.com/petsc/petsc/-/jobs/1475595231>).
> 
> Thanks,
> Pierre
> 
> $ make -f gmakefile test query='name' queryval="*snes_tutorials-ex20_2d_p1_gmg_vcycle_cr*"
> Using MAKEFLAGS: queryval=*snes_tutorials-ex20_2d_p1_gmg_vcycle_cr* query=name
>         TEST arch-darwin-c-debug-real/tests/counts/snes_tutorials-ex20_2d_p1_gmg_vcycle_cr.counts
> not ok snes_tutorials-ex20_2d_p1_gmg_vcycle_cr # Error code: 56
> #	[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
> #	[0]PETSC ERROR: No support for this operation for this object type
> #	[0]PETSC ERROR: Mat type normal
> #	[0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting.
> #	[0]PETSC ERROR: Petsc Development GIT revision: v3.15.2-633-gdc9bbe6e6a  GIT Date: 2021-08-03 20:53:25 +0200
> #	[0]PETSC ERROR: ../ex20 on a arch-darwin-c-debug-real named aardvark.local by jolivet Wed Aug  4 10:04:59 2021
> #	[0]PETSC ERROR: Configure options --download-c2html --download-elemental --download-hpddm --download-hpddm-commit=origin/omp --download-htool --download-htool-commit=origin/main --download-hypre --download-metis --download-suitesparse --download-mmg --download-mumps --download-hwloc --download-p4est --download-parmetis --download-parmmg --download-ptscotch --download-slepc --download-slepc-commit=origin/main --download-slepc-configure-arguments="--download-arpack=https://github.com/prj-/arpack-ng/archive/b64dccb.tar.gz <https://github.com/prj-/arpack-ng/archive/b64dccb.tar.gz>" --download-tetgen --download-triangle --download-zlib --with-blaslapack-include=/opt/intel/oneapi/mkl/latest/include --with-blaslapack-lib="[/opt/intel/oneapi/compiler/latest/mac/compiler/lib/libiomp5.dylib,/opt/intel/oneapi/mkl/latest/lib/libmkl_intel_lp64.dylib,/opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.dylib,/opt/intel/oneapi/mkl/latest/lib/libmkl_core.dylib]" --with-fortran-bindings=1 --with-mkl_cpardiso-include=/opt/intel/oneapi/mkl/latest/include --with-mkl_cpardiso=1 --with-mkl_pardiso-include=/opt/intel/oneapi/mkl/latest/include --with-mkl_pardiso=1 --with-opengl=1 --with-petsc4py --with-scalapack-include=/opt/intel/oneapi/mkl/latest/include --with-scalapack-lib="[/opt/intel/oneapi/mkl/latest/lib/libmkl_scalapack_lp64.dylib,/opt/intel/oneapi/mkl/latest/lib/libmkl_blacs_mpich_lp64.dylib]" --with-scalar-type=real --with-shared-libraries=1 CFLAGS="-Wall -g" CXXFLAGS="-Wall -g" FFLAGS="-Wall -ffree-line-length-512 -g" PETSC_ARCH=arch-darwin-c-debug-real
> #	[0]PETSC ERROR: #1 MatSetValues() at /Users/jolivet/Documents/repositories/petsc/src/mat/interface/matrix.c:1376
> #	[0]PETSC ERROR: #2 MatShift_Basic() at /Users/jolivet/Documents/repositories/petsc/src/mat/utils/gcreate.c:26
> #	[0]PETSC ERROR: #3 MatShift() at /Users/jolivet/Documents/repositories/petsc/src/mat/utils/axpy.c:309
> #	[0]PETSC ERROR: #4 CRSetup_Private() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/impls/mg/mg.c:300
> #	[0]PETSC ERROR: #5 PCSetUp_Shell() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/impls/shell/shellpc.c:101
> #	[0]PETSC ERROR: #6 PCSetUp() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/interface/precon.c:1016
> #	[0]PETSC ERROR: #7 PCApply() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/interface/precon.c:441
> #	[0]PETSC ERROR: #8 PCApply_Composite_Multiplicative() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/impls/composite/composite.c:50
> #	[0]PETSC ERROR: #9 PCApply() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/interface/precon.c:445
> #	[0]PETSC ERROR: #10 KSP_PCApply() at /Users/jolivet/repo/petsc/include/petsc/private/kspimpl.h:365
> #	[0]PETSC ERROR: #11 KSPInitialResidual() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itres.c:65
> #	[0]PETSC ERROR: #12 KSPSolve_GMRES() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/impls/gmres/gmres.c:246
> #	[0]PETSC ERROR: #13 KSPSolve_Private() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:912
> #	[0]PETSC ERROR: #14 KSPSolve() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:1084
> #	[0]PETSC ERROR: #15 KSPSetUp_Chebyshev() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/impls/cheby/cheby.c:87
> #	[0]PETSC ERROR: #16 KSPSetUp() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:365
> #	[0]PETSC ERROR: #17 PCSetUp_MG() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/impls/mg/mg.c:1247
> #	[0]PETSC ERROR: #18 PCSetUp() at /Users/jolivet/Documents/repositories/petsc/src/ksp/pc/interface/precon.c:1016
> #	[0]PETSC ERROR: #19 KSPSetUp() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:406
> #	[0]PETSC ERROR: #20 KSPSolve_Private() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:850
> #	[0]PETSC ERROR: #21 KSPSolve() at /Users/jolivet/Documents/repositories/petsc/src/ksp/ksp/interface/itfunc.c:1084
> #	[0]PETSC ERROR: #22 SNESSolve_NEWTONLS() at /Users/jolivet/Documents/repositories/petsc/src/snes/impls/ls/ls.c:225
> #	[0]PETSC ERROR: #23 SNESSolve() at /Users/jolivet/Documents/repositories/petsc/src/snes/interface/snes.c:4769
> #	[0]PETSC ERROR: #24 main() at /Users/jolivet/Documents/repositories/petsc/src/snes/tutorials/ex20.c:175
> #	[0]PETSC ERROR: PETSc Option Table entries:
> #	[0]PETSC ERROR: -dm_plex_box_faces 2,2
> #	[0]PETSC ERROR: -dm_refine_hierarchy 3
> #	[0]PETSC ERROR: -ksp_rtol 5e-10
> #	[0]PETSC ERROR: -mg_levels_cr_ksp_converged_rate
> #	[0]PETSC ERROR: -mg_levels_cr_ksp_converged_rate_type error
> #	[0]PETSC ERROR: -mg_levels_cr_ksp_max_it 5
> #	[0]PETSC ERROR: -mg_levels_esteig_ksp_max_it 10
> #	[0]PETSC ERROR: -mg_levels_esteig_ksp_type cg
> #	[0]PETSC ERROR: -mg_levels_ksp_chebyshev_esteig 0,0.05,0,1.05
> #	[0]PETSC ERROR: -mg_levels_ksp_max_it 5
> #	[0]PETSC ERROR: -mg_levels_ksp_norm_type preconditioned
> #	[0]PETSC ERROR: -pc_mg_adapt_cr
> #	[0]PETSC ERROR: -pc_type mg
> #	[0]PETSC ERROR: -potential_petscspace_degree 1
> #	[0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-maint at mcs.anl.gov <mailto:petsc-maint at mcs.anl.gov>----------
> #	Abort(56) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 56) - process 0
>  ok snes_tutorials-ex20_2d_p1_gmg_vcycle_cr # SKIP Command failed so no diff
> 
> 
> # FAILED snes_tutorials-ex20_2d_p1_gmg_vcycle_cr
> #
> # To rerun failed tests:
> #     /usr/bin/make -f gmakefile test test-fail=1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20210804/b373e514/attachment-0001.html>


More information about the petsc-dev mailing list