[petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

Zhang, Hong hzhang at mcs.anl.gov
Thu Aug 4 21:59:32 CDT 2022


Lucas,
I added MatMatSolveTranspose_MUMPS()
https://gitlab.com/petsc/petsc/-/merge_requests/5500
[https://gitlab.com/uploads/-/system/project/avatar/13882401/PETSc_RBG-logo.png]<https://gitlab.com/petsc/petsc/-/merge_requests/5500>
add MatMatSolveTranspose_MUMPS() (!5500) · Merge requests · PETSc / petsc · GitLab<https://gitlab.com/petsc/petsc/-/merge_requests/5500>
Add MatMatSolveTranspose_MUMPS() Requested-by: Lucas Banting bantingl at myumanitoba.ca
gitlab.com
It is in branch hzhang/add-MatMatSolveTranspose_MUMPS. You may give it a try.

MatMatSolveTranspose() is a bad name for solving A^t X = B.
We should rename it as MatTransposeMatSolve().
Hong
________________________________
From: Lucas Banting <bantingl at myumanitoba.ca>
Sent: Thursday, August 4, 2022 7:29 PM
To: Zhang, Hong <hzhang at mcs.anl.gov>; Junchao Zhang <junchao.zhang at gmail.com>; Barry Smith <bsmith at petsc.dev>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

Hi Hong,

The second option, I want to solve A^T X = B.
The MatMatSolveTranspose() function in petsc.

Lucas
________________________________
From: petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of Zhang, Hong via petsc-users <petsc-users at mcs.anl.gov>
Sent: Thursday, August 4, 2022 6:02:21 PM
To: Junchao Zhang <junchao.zhang at gmail.com>; Barry Smith <bsmith at petsc.dev>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS

Caution: This message was sent from outside the University of Manitoba.

Lucas,
Solving
A X = B^T  #MatMatTransposeSolve() -- supported by petsc/mumps interface
or
A^T X = B #MatTransposeMatSolve() -- not supported
which one do you want ?
Hong
________________________________
From: petsc-users <petsc-users-bounces at mcs.anl.gov> on behalf of Junchao Zhang <junchao.zhang at gmail.com>
Sent: Thursday, August 4, 2022 5:21 PM
To: Barry Smith <bsmith at petsc.dev>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS


It seems yes, from mump manual


ICNTL(9) computes the solution using A or AT

Phase: accessed by the host during the solve phase.

Possible values :

1    : AX = B is solved.

!= 1 : ATX = B is solved.


On Thu, Aug 4, 2022 at 4:20 PM Barry Smith <bsmith at petsc.dev<mailto:bsmith at petsc.dev>> wrote:

  Yes, it appears no MUMPS matmatsolvetranspose is wired in. Does MUMPS provide such a function? If so it can be added with a few lines of code.

  Barry


On Aug 4, 2022, at 3:55 PM, Lucas Banting <bantingl at myumanitoba.ca<mailto:bantingl at myumanitoba.ca>> wrote:

Hello,

I am using MUMPS to solve a system with multiple right hand sides.
I have noticed that the MatMatSolve function appears to be quite a bit faster than the MatMatSolveTranspose function.
I was trying to look through the petsc source to see where the MatMatSolveTranspose_MUMPS function was but couldn't find it.

Is PETSc just doing MatSolveTranspose_MUMPS for each right hand side when doing MatMatSolveTranspose with MUMPS?
If an accelerated version of MatMatSolveTranspose existed, it would be very useful for my application.

Regards,
Lucas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220805/ff5662e7/attachment-0001.html>


More information about the petsc-users mailing list