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 <pie...@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-ma...@mcs.anl.gov 
> <mailto:petsc-ma...@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

Reply via email to