> On 21 May 2021, at 7:49 PM, Matthew Knepley <[email protected]> wrote: > > On Fri, May 21, 2021 at 12:33 PM Stefano Zampini <[email protected] > <mailto:[email protected]>> wrote: > > >> On 21 May 2021, at 7:17 PM, Pierre Jolivet <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> >>> On 21 May 2021, at 6:03 PM, Stefano Zampini <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Emmanuel >>> >>> thanks for reporting this. >>> I believe we have a regression in MatChop from >>> https://gitlab.com/petsc/petsc/-/commit/038df967165af8ac6c3de46a36f650566a7db07c >>> >>> <https://gitlab.com/petsc/petsc/-/commit/038df967165af8ac6c3de46a36f650566a7db07c> >>> (cc'ing Pierre) >>> We call MatAssemblyBegin/End within the row loop. Also. I don't understand >>> why we need to check for r < rend herre >>> https://gitlab.com/petsc/petsc/-/blob/038df967165af8ac6c3de46a36f650566a7db07c/src/mat/utils/axpy.c#L513 >>> >>> <https://gitlab.com/petsc/petsc/-/blob/038df967165af8ac6c3de46a36f650566a7db07c/src/mat/utils/axpy.c#L513>. >>> nor why we need to allocate newCols (can use cols) >> >> That part is from the initial 8-year old implementation from Matt >> (https://gitlab.com/petsc/petsc/-/commit/4325cce7191c5c61f4f090c59eaf6773fdee7b48#9d78409dea8190bffda8b68fee5aef233dc1c677 >> >> <https://gitlab.com/petsc/petsc/-/commit/4325cce7191c5c61f4f090c59eaf6773fdee7b48#9d78409dea8190bffda8b68fee5aef233dc1c677>). >> You need the check otherwise this error is raised: >> https://www.mcs.anl.gov/petsc/petsc-current/src/mat/interface/matrix.c.html#line566 >> >> <https://www.mcs.anl.gov/petsc/petsc-current/src/mat/interface/matrix.c.html#line566>. > > I see, anyway you do not need the check if the loop range [rStart,rEnd). So > now I don’t understand why the loop must be [rStart,rStart+maxRows], Matt? > > It is terrible, but I could not see a way around it. We want to use > MatGetRow() for each row, but that requires an assembled matrix.
What is the use case for calling MatChop on an unassembled matrix ? > We want to use > MatSetValues() to changes things, but that unassembles the matrix, so we need > an assembly at each iteration, but assembly is collective, so everyone has > to take the same number of iterations. Thus, maxRows. > > Matt >> Thanks, >> Pierre >> >>> Pierre, can you take a look? >>> >>> Il giorno ven 21 mag 2021 alle ore 18:49 Emmanuel Ayala <[email protected] >>> <mailto:[email protected]>> ha scritto: >>> Hi everybody, >>> >>> I just updated petsc from version 13 to 15. Before the update everything >>> works well, then my code give me an error: >>> >>> [9]PETSC ERROR: --------------------- Error Message >>> -------------------------------------------------------------- >>> [9]PETSC ERROR: Invalid argument >>> [9]PETSC ERROR: Setting off process row 53484 even though >>> MatSetOption(,MAT_NO_OFF_PROC_ENTRIES,PETSC_TRUE) was set >>> [9]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html >>> <https://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. >>> [9]PETSC ERROR: Petsc Release Version 3.15.0, Mar 30, 2021 >>> [9]PETSC ERROR: ./comp on a arch-linux-c-opt-O2-superlud_mumps_hyp named >>> eayala by ayala Fri May 21 10:40:36 2021 >>> [9]PETSC ERROR: Configure options --with-debugging=0 COPTFLAGS="-O2 >>> -march=native -mtune=native" CXXOPTFLAGS="-O2 -march=native -mtune=native" >>> FOPTFLAGS="-O2 -march=native -mtune=native" --download-mpich >>> --download-hypre --download-mumps --download-scalapack --download-parmetis >>> --download-metis --download-superlu_dist --download-cmake >>> --download-fblaslapack=1 --with-cxx-dialect=C++11 >>> >>> The error appears after a matrix assembly, the matrix was created with >>> DMCreateMatrix and updated with MatSetValuesLocal. >>> >>> A Little work around I found the solution, avoid using MatChop on this >>> matrix, but I still need to use MatChop. There is any reason to have this >>> problem? >>> >>> Thanks in advance. >>> >>> >>> >>> >>> >>> >>> -- >>> 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/>
