<div dir="ltr"><div dir="ltr">On Fri, May 21, 2021 at 12:33 PM Stefano Zampini <<a href="mailto:stefano.zampini@gmail.com">stefano.zampini@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><br><div><br><blockquote type="cite"><div>On 21 May 2021, at 7:17 PM, Pierre Jolivet <<a href="mailto:pierre@joliv.et" target="_blank">pierre@joliv.et</a>> wrote:</div><br><div><div style="overflow-wrap: break-word;"><br><div><br><blockquote type="cite"><div>On 21 May 2021, at 6:03 PM, Stefano Zampini <<a href="mailto:stefano.zampini@gmail.com" target="_blank">stefano.zampini@gmail.com</a>> wrote:</div><br><div><div dir="ltr">Emmanuel<div><br></div><div>thanks for reporting this.</div><div>I believe we have a regression in MatChop from <a href="https://gitlab.com/petsc/petsc/-/commit/038df967165af8ac6c3de46a36f650566a7db07c" target="_blank">https://gitlab.com/petsc/petsc/-/commit/038df967165af8ac6c3de46a36f650566a7db07c</a> (cc'ing Pierre)<div>We call MatAssemblyBegin/End within the row loop. Also. I don't understand why we need to check for  r < rend herre <a href="https://gitlab.com/petsc/petsc/-/blob/038df967165af8ac6c3de46a36f650566a7db07c/src/mat/utils/axpy.c#L513" target="_blank">https://gitlab.com/petsc/petsc/-/blob/038df967165af8ac6c3de46a36f650566a7db07c/src/mat/utils/axpy.c#L513</a>. nor why we need to allocate newCols (can use cols)</div></div></div></div></blockquote><div><br></div><div>That part is from the initial 8-year old implementation from Matt (<a href="https://gitlab.com/petsc/petsc/-/commit/4325cce7191c5c61f4f090c59eaf6773fdee7b48#9d78409dea8190bffda8b68fee5aef233dc1c677" target="_blank">https://gitlab.com/petsc/petsc/-/commit/4325cce7191c5c61f4f090c59eaf6773fdee7b48#9d78409dea8190bffda8b68fee5aef233dc1c677</a>).</div><div>You need the check otherwise this error is raised: <a href="https://www.mcs.anl.gov/petsc/petsc-current/src/mat/interface/matrix.c.html#line566" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/src/mat/interface/matrix.c.html#line566</a>.</div></div></div></div></blockquote><div><br></div>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?</div></div></blockquote><div><br></div><div>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. We want to use</div><div>MatSetValues() to changes things, but that unassembles the matrix, so we need an assembly at each iteration, but assembly is collective, so everyone has</div><div>to take the same number of iterations. Thus, maxRows.</div><div><br></div><div>   Matt <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div><blockquote type="cite"><div><div style="overflow-wrap: break-word;"><div><div>Thanks,</div><div>Pierre</div><br><blockquote type="cite"><div><div dir="ltr"><div><div>Pierre, can you take a look?</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno ven 21 mag 2021 alle ore 18:49 Emmanuel Ayala <<a href="mailto:juaneah@gmail.com" target="_blank">juaneah@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi everybody,</div><div><br></div><div>I just updated petsc from version 13 to 15. Before the update everything works well, then my code give me an error:</div><div><br></div><div>[9]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[9]PETSC ERROR: Invalid argument<br>[9]PETSC ERROR: Setting off process row 53484 even though MatSetOption(,MAT_NO_OFF_PROC_ENTRIES,PETSC_TRUE) was set<br>[9]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[9]PETSC ERROR: Petsc Release Version 3.15.0, Mar 30, 2021 <br>[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<br>[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</div><div><br></div><div>The error appears after a matrix assembly, the matrix was created with DMCreateMatrix and updated with MatSetValuesLocal.</div><div><br></div><div>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?</div><div><br></div><div>Thanks in advance.<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr">Stefano</div>
</div></blockquote></div><br></div></div></blockquote></div><br></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>