[petsc-users] Using Petsc with multiple RHS

Barry Smith bsmith at mcs.anl.gov
Thu Dec 22 13:57:03 CST 2011


  The PETSc interface for MatMatSolve() for SuperLU_Dist does directly use the multiple right hand side solver of SuperLU so perhaps you can use this as it will be faster than one solve at a time.

   As Hong mentioned, MUMPS still requires centralizing the entire right hand side to one process before starting the linear solver. This is why we don't support multiple right hand sides directly with MUMPs, that would require too much memory on the first process. When MUMPS supports distributed right hand side then we'll add support for directly using their multiple right hand side solver.

    Barry


On Dec 12, 2011, at 3:10 AM, Alexander Grayver wrote:

> Hi Barry,
> 
> Thanks for answer. I should have asked about that from the very beginning actually.
> I get 2 times decrease in performance with 20 RHS, I can imagine how slow it will be when I will use thousands of them,
> moreover it will require a lot of memory to store them as a dense matrix.
> 
> On 11.12.2011 18:50, Barry Smith wrote:
>> On Dec 11, 2011, at 9:29 AM, Alexander Grayver wrote:
>>    One by one
> 
> I'm wondering why? All main direct packages like MUMPS, SuperLU_DIST, PaSTiX support multiple RHS.
> 
>>    We do not handle a sparse right hand side.
> 
> Since I already transferred my code to PETSc anyway, my question now if it's possible to implement sparse multiple RHS and solve them simultaneously?
> Something like MatMatSolveSparse. I would implement it myself, the question is there a way to integrate it into PETSc as a patch or something like that?
> 
> Regards,
> Alexander



More information about the petsc-users mailing list