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

Pierre Jolivet pierre at joliv.et
Wed Aug 4 03:13:18 CDT 2021


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 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" --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----------
#	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/08496ea7/attachment.html>


More information about the petsc-dev mailing list