Thanks for the suggestion Hong. I’ve been somehow putting on hold edits in the documentation (src/docs/website/documentation/changes/dev.html notwithstanding) because I’m not sure yet of what will be migrated or not. But I’ll edit the page according to Patrick’s comment.
Thanks, Pierre > On 18 Mar 2021, at 4:00 PM, Patrick Sanan <[email protected]> wrote: > > Sorry about the current mess but that page is halfway migrated, so any > updates should go here: > https://docs.petsc.org/en/main/install/externalsoftware_documentation/ > <https://docs.petsc.org/en/main/install/externalsoftware_documentation/> > > > >> Am 18.03.2021 um 15:22 schrieb Zhang, Hong via petsc-dev >> <[email protected] <mailto:[email protected]>>: >> >> Pierre, >> This is an external package to petsc. Shall it be listed at >> https://www.mcs.anl.gov/petsc/miscellaneous/external.html >> <https://www.mcs.anl.gov/petsc/miscellaneous/external.html>? >> PETSc: External Software - anl.gov >> <https://www.mcs.anl.gov/petsc/miscellaneous/external.html> >> PETSc interfaces to the following optional external software (installing >> packages) (manual pages):. AMD - Approximate minimum degree orderings.; BLAS >> and LAPACK; Chaco - a graph partitioning package.; ESSL - IBM's math library >> for fast sparse direct LU factorization. FFTW - Fastest Fourier Transform in >> the West, developed at MIT by Matteo Frigo and Steven G. Johnson. >> www.mcs.anl.gov <http://www.mcs.anl.gov/> >> Hong >> From: Pierre Jolivet <[email protected] <mailto:[email protected]>> >> Sent: Thursday, March 18, 2021 1:16 AM >> To: Zhang, Hong <[email protected] <mailto:[email protected]>> >> Cc: For users of the development version of PETSc <[email protected] >> <mailto:[email protected]>> >> Subject: Re: [petsc-dev] MatTransposeMatMult() bug >> >> https://www.sciencedirect.com/science/article/abs/pii/S0898122121000055 >> <https://www.sciencedirect.com/science/article/abs/pii/S0898122121000055> >> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPHPDDM.html >> >> <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPHPDDM.html> >> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCHPDDM.html >> <https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCHPDDM.html> >> I need to update the PETSc user manual though, specifically with respect to >> systems with multiple right-hand sides. >> But don’t worry, Stefano has sorted the bug out, which was due to a faulty >> MatSetFromOptions() in MatMAIJ, used by MatTransposeMatMult(). >> >> Thanks, >> Pierre >> >>> On 17 Mar 2021, at 11:21 PM, Zhang, Hong <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> What is hpddm? I do not see its document. >>> Hong >>> >>> From: Matthew Knepley <[email protected] <mailto:[email protected]>> >>> Sent: Wednesday, March 17, 2021 2:49 PM >>> To: Zhang, Hong <[email protected] <mailto:[email protected]>> >>> Cc: Pierre Jolivet <[email protected] <mailto:[email protected]>>; For users of >>> the development version of PETSc <[email protected] >>> <mailto:[email protected]>> >>> Subject: Re: [petsc-dev] MatTransposeMatMult() bug >>> >>> On Wed, Mar 17, 2021 at 3:27 PM Zhang, Hong via petsc-dev >>> <[email protected] <mailto:[email protected]>> wrote: >>> Pierre, >>> Do you mean a possible bug in C=AtB MatTransposeMatMult()? >>> Can you provide a stand-alone test without hpddm that reproduces this >>> error? >>> >>> Hong, you should be able to just configure with --download-hpddm and then >>> run that ex76 test. >>> >>> Thanks, >>> >>> Matt >>> >>> Hong >>> From: petsc-dev <[email protected] >>> <mailto:[email protected]>> on behalf of Pierre Jolivet >>> <[email protected] <mailto:[email protected]>> >>> Sent: Wednesday, March 17, 2021 4:31 AM >>> To: For users of the development version of PETSc <[email protected] >>> <mailto:[email protected]>> >>> Subject: [petsc-dev] MatTransposeMatMult() bug >>> >>> Hello, >>> While trying out Stefano’s PCApplyMat_MG() code (*), we stumbled upon weird >>> numerical errors when reusing a Mat for both MatProduct_AB and >>> MatProduct_AtB. >>> This reminded me that there has been a long-standing issue with >>> MatTransposeMatMult(), see >>> https://www.mcs.anl.gov/petsc/petsc-current/src/ksp/pc/impls/hpddm/hpddm.cxx.html#line608 >>> >>> <https://www.mcs.anl.gov/petsc/petsc-current/src/ksp/pc/impls/hpddm/hpddm.cxx.html#line608>, >>> that I never looked into. >>> I’ve now been trying to figure this out, because this has side effects in >>> multiple places (PCMG and PCHPDDM at least), and thus could impact >>> user-code as well? >>> With this commit: >>> https://gitlab.com/petsc/petsc/-/commit/03d8bd538039defc2fcc3e37d523735c4aaceba0 >>> >>> <https://gitlab.com/petsc/petsc/-/commit/03d8bd538039defc2fcc3e37d523735c4aaceba0> >>> + >>> $ mpirun -n 4 src/ksp/ksp/tutorials/ex76 -ksp_converged_reason -pc_type >>> hpddm -pc_hpddm_levels_1_eps_nev 20 -ksp_type preonly -mat_type aij >>> -load_dir ${DATAFILESPATH}/matrices/hpddm/GENEO -rhs 2 >>> -pc_hpddm_coarse_correction balanced -C_input_mattransposematmult >>> -D_output_mattransposematmult >>> I’m seeing that C is nonzero, but D is full of zeros. >>> Mat Object: 4 MPI processes >>> type: mpidense >>> 5.7098316584361917e-08 1.0159399260517841e-07 >>> 1.5812349976211856e-07 2.0688121715350138e-07 >>> 2.4887556933361981e-08 4.8111092300772958e-08 >>> 1.4606298643602107e-07 1.7213611729839211e-07 >>> […] >>> Mat Object: 4 MPI processes >>> type: mpidense >>> 0.0000000000000000e+00 0.0000000000000000e+00 >>> 0.0000000000000000e+00 0.0000000000000000e+00 >>> 0.0000000000000000e+00 0.0000000000000000e+00 >>> 0.0000000000000000e+00 0.0000000000000000e+00 >>> […] >>> >>> If one switches to a MatType which has no MatProduct_AtB implementation >>> with B of type MPIDense (reminder: in that case, the product is computed >>> column-by-column), e.g., -mat_type sbaij, one gets the expected result. >>> Mat Object: 4 MPI processes >>> type: mpidense >>> 7.2003197398135299e-01 9.5191869895699011e-01 >>> 6.1793966541680234e-02 9.3884397585488877e-01 >>> 1.0022337823233585e-02 2.4653068080134588e-01 >>> 1.4463931936094099e-01 8.6111517670701687e-01 >>> >>> Is there a bug somewhere with the MatAIJ implementation, or am I doing >>> something which is not allowed by the MatProduct() machinery? >>> >>> Thanks, >>> Pierre >>> >>> (*) https://gitlab.com/petsc/petsc/-/merge_requests/3717 >>> <https://gitlab.com/petsc/petsc/-/merge_requests/3717> >>> >>> >>> -- >>> 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/>
