On Wed, May 13, 2020 at 11:33 AM Pierre Jolivet <pierre.joli...@enseeiht.fr> wrote:
> I’m only CHKERRQ’ing inside the routine but I’m not propagating this down > to the return code of KSPSolve. > I will try to fix this, or maybe switch to CHKERRABORT instead, because it > currently goes like KSPSolve (PETSc) -> my stuff (non PETSc) -> MatMatMult > or PCApply (PETSc), and I’m not sure I want to put some more PETSc code > inside “my stuff” as it can be a pain to maintain for people that uses “my > stuff” without PETSc. Sadly, they do exist. > Also, I’m using PetscFunction[Begin|End]User, don’t know if switching > to PetscFunction[Begin|End] would change something here, though I’m > guessing it wouldn't. > No, those work the same. I think you can propagate just with an integer return code, nothing PETSc dependent. Thanks, Matt > I’ll keep you posted, thanks for reporting this, > Pierre > > On 13 May 2020, at 3:03 PM, Stefano Zampini <stefano.zamp...@gmail.com> > wrote: > > The error is raised from HPDDM , that does not stop and I think does not > return error codes. Pierre? > > Il giorno mer 13 mag 2020 alle ore 16:01 Matthew Knepley < > knep...@gmail.com> ha scritto: > >> I see my stderr with tests. I am running it right now. >> >> Matt >> >> On Wed, May 13, 2020 at 8:55 AM Stefano Zampini < >> stefano.zamp...@gmail.com> wrote: >> >>> I have a test that fails, but it only prints a small amount of >>> information >>> >>> [szampini@localhost petsc]$ make -f gmakefile.test test search='ksp%' >>> searchin='ex75_2_icc' PETSC_ARCH=arch-opt >>> Using MAKEFLAGS: -- PETSC_ARCH=arch-opt searchin=ex75_2_icc search=ksp% >>> TEST arch-opt/tests/counts/ksp_ksp_tutorials-ex75_2_icc.counts >>> ok ksp_ksp_tutorials-ex75_2_icc+reset-false >>> not ok diff-ksp_ksp_tutorials-ex75_2_icc+reset-false # Error code: 1 >>> # 3c3 >>> # < Linear solve converged due to CONVERGED_RTOL iterations 34 >>> # --- >>> # > Linear solve did not converge due to DIVERGED_ITS iterations 1000 >>> ok ksp_ksp_tutorials-ex75_2_icc+reset-true >>> ok diff-ksp_ksp_tutorials-ex75_2_icc+reset-true >>> >>> If I run the test that fails myself, I get PETSC_ERROR messages >>> >>> [szampini@localhost tutorials]$ ./ex75 -nmat 3 -pc_type icc >>> -ksp_converged_reason -ksp_type hpddm -ksp_max_it 1000 -ksp_gmres_restart >>> 40 -ksp_rtol 1e-10 -ksp_hpddm_type gcrodr -ksp_hpddm_recycle 20 -reset >>> false -load_dir ${DATAFILESPATH}/matrices/hpddm/GCRODR >>> Linear solve converged due to CONVERGED_RTOL iterations 94 >>> Linear solve converged due to CONVERGED_RTOL iterations 37 >>> [0]PETSC ERROR: --------------------- Error Message >>> -------------------------------------------------------------- >>> [0]PETSC ERROR: Operation done in wrong order >>> [0]PETSC ERROR: Need to call MatDenseRestoreArray first >>> [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html >>> for trouble shooting. >>> [0]PETSC ERROR: Petsc Development GIT revision: v3.13.1-192-g23916988c6 >>> GIT Date: 2020-05-09 02:16:44 +0300 >>> [0]PETSC ERROR: ./ex75 on a arch-debug named localhost.localdomain by >>> szampini Wed May 13 15:51:48 2020 >>> [0]PETSC ERROR: Configure options >>> --DATAFILESPATH=/home/szampini/Devel/petscdatafiles --download-elemental >>> --download-chaco --download-ctetgen --download-exodusii --download-glvis >>> --download-hara --download-hara-commit=HEAD --download-hdf5 >>> --download-hpddm --download-hpddm-commit=HEAD --download-hypre >>> --download-metis --download-mfem-commit=origin/master --download-mfem=1 >>> --download-ml --download-mumps --download-netcdf --download-p4est >>> --download-parmetis --download-pnetcdf --download-ptscotch >>> --download-revolve --download-scalapack --download-slepc >>> --download-suitesparse --download-superlu --download-superlu_dist >>> --download-triangle --with-blaslapack-include=/usr/include/openblas >>> --with-cxx-dialect=C++11 --with-fortran-bindings=0 --with-opengl >>> --with-openmp --with-thrust-dir=/home/szampini/local --with-valgrind >>> --with-zlib CFLAGS="-Wall -g -O0" CXXFLAGS="-Wall -g -O0" FFLAGS="-g -O0" >>> PETSC_ARCH=arch-debug >>> [0]PETSC ERROR: #1 MatDensePlaceArray_SeqDense() line 1364 in >>> /home/szampini/Devel/petsc/src/mat/impls/dense/seq/dense.c >>> [0]PETSC ERROR: #2 MatDensePlaceArray() line 1900 in >>> /home/szampini/Devel/petsc/src/mat/impls/dense/mpi/mpidense.c >>> [0]PETSC ERROR: #3 GMV() line 128 in >>> /home/szampini/Devel/petsc/arch-debug/include/HPDDM_PETSc.hpp >>> [0]PETSC ERROR: --------------------- Error Message >>> -------------------------------------------------------------- >>> [0]PETSC ERROR: Operation done in wrong order >>> [0]PETSC ERROR: Need to call MatDenseRestoreArray first >>> [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html >>> for trouble shooting. >>> [0]PETSC ERROR: Petsc Development GIT revision: v3.13.1-192-g23916988c6 >>> GIT Date: 2020-05-09 02:16:44 +0300 >>> [0]PETSC ERROR: ./ex75 on a arch-debug named localhost.localdomain by >>> szampini Wed May 13 15:51:48 2020 >>> [0]PETSC ERROR: Configure options >>> --DATAFILESPATH=/home/szampini/Devel/petscdatafiles --download-elemental >>> --download-chaco --download-ctetgen --download-exodusii --download-glvis >>> --download-hara --download-hara-commit=HEAD --download-hdf5 >>> --download-hpddm --download-hpddm-commit=HEAD --download-hypre >>> --download-metis --download-mfem-commit=origin/master --download-mfem=1 >>> --download-ml --download-mumps --download-netcdf --download-p4est >>> --download-parmetis --download-pnetcdf --download-ptscotch >>> --download-revolve --download-scalapack --download-slepc >>> --download-suitesparse --download-superlu --download-superlu_dist >>> --download-triangle --with-blaslapack-include=/usr/include/openblas >>> --with-cxx-dialect=C++11 --with-fortran-bindings=0 --with-opengl >>> --with-openmp --with-thrust-dir=/home/szampini/local --with-valgrind >>> --with-zlib CFLAGS="-Wall -g -O0" CXXFLAGS="-Wall -g -O0" FFLAGS="-g -O0" >>> PETSC_ARCH=arch-debug >>> [0]PETSC ERROR: #4 MatDensePlaceArray_SeqDense() line 1364 in >>> /home/szampini/Devel/petsc/src/mat/impls/dense/seq/dense.c >>> [0]PETSC ERROR: #5 MatDensePlaceArray() line 1900 in >>> /home/szampini/Devel/petsc/src/mat/impls/dense/mpi/mpidense.c >>> [0]PETSC ERROR: #6 apply() line 216 in >>> /home/szampini/Devel/petsc/arch-debug/include/HPDDM_PETSc.hpp >>> Linear solve did not converge due to DIVERGED_ITS iterations 1000 >>> >>> Why is that? are we suppressing stderr when comparing diffs? >>> >>> -- >>> Stefano >>> >> >> >> -- >> What most experimenters take for granted before they begin their >> experiments is infinitely more interesting than any results to which their >> experiments lead. >> -- Norbert Wiener >> >> https://www.cse.buffalo.edu/~knepley/ >> <http://www.cse.buffalo.edu/~knepley/> >> > > > -- > Stefano > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>