Ok, this is embarrassing, all the code is there and the documentation, but it is not wired up to be usable; I'm not sure how that happened. The code was contributed over two years ago, and I have no memory of why it would be there but not wired up. I wired it up and ran a simple test and got MPI errors, so I suspect that the code had serious bugs we did not understand and so was not wired up;
There are other pipelined GMRES KSPPGMRES and KSPPIPEFGMRES that are wired up and should be usable out of the box. Plus a pipelined bcgs. I suggest starting by trying those. Barry > On Aug 2, 2022, at 12:18 PM, Frank Bramkamp <[email protected]> wrote: > > Dear PETSc team, > > I have seen that there is the KSP method: KSPAGMRES, > https://petsc.org/release/docs/manualpages/KSP/KSPAGMRES.html > <https://petsc.org/release/docs/manualpages/KSP/KSPAGMRES.html> > > I wanted to test this method, as it also seems to reduce the amount of MPI > communication, compared > to the standard GMRES. > > > I supposed that the class is called “KSPAGMRES”. > But in the include files petscksp.h and petsc/finclude/petscksp.h > there is no definition for KSPAGMRES, just KSPDGMRES. > > I wonder if the definition KSPAGMRES is simply missing, or do I have to call > DGMRES and set another option for AGMRES ?! > > The standard GMRES has the problem that MPI_Allreduce gets expensive for 2048 > cores. > Therefore I wanted to see, if AGMRES has a bit less communication, as this is > mentioned in the description > of the method. > > Greetings, Frank Bramkamp > > >
