<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lucas,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I added MatMatSolveTranspose_MUMPS()</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a href="https://gitlab.com/petsc/petsc/-/merge_requests/5500" id="LPlnkOWALinkPreview">https://gitlab.com/petsc/petsc/-/merge_requests/5500</a></div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly9naXRsYWIuY29tL3BldHNjL3BldHNjLy0vbWVyZ2VfcmVxdWVzdHMvNTUwMA.." class="LPBorder489819" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer489819" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td>
<div id="LPImageContainer489819" style="position: relative; margin-right: 12px; height: 160px; overflow: hidden;">
<a target="_blank" id="LPImageAnchor489819" href="https://gitlab.com/petsc/petsc/-/merge_requests/5500"><img id="LPThumbnailImageId489819" alt="" height="160" style="display: block;" width="160" src="https://gitlab.com/uploads/-/system/project/avatar/13882401/PETSc_RBG-logo.png"></a></div>
</td>
<td style="width: 100%;">
<div id="LPTitle489819" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor489819" href="https://gitlab.com/petsc/petsc/-/merge_requests/5500" style="text-decoration: none; color: var(--themePrimary);">add MatMatSolveTranspose_MUMPS() (!5500) · Merge requests · PETSc / petsc · GitLab</a></div>
<div id="LPDescription489819" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
Add MatMatSolveTranspose_MUMPS() Requested-by: Lucas Banting bantingl@myumanitoba.ca</div>
<div id="LPMetadata489819" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
gitlab.com</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
It is in branch hzhang/add-MatMatSolveTranspose_MUMPS. You may give it a try. </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important">MatMatSolveTranspose() is a bad name for solving A^t X = B.</span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important">We should rename it as Mat<span style="background-color:rgb(255, 255, 255);display:inline !important">TransposeMatSolve().</span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important">Hong</span></span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Lucas Banting <bantingl@myumanitoba.ca><br>
<b>Sent:</b> Thursday, August 4, 2022 7:29 PM<br>
<b>To:</b> Zhang, Hong <hzhang@mcs.anl.gov>; Junchao Zhang <junchao.zhang@gmail.com>; Barry Smith <bsmith@petsc.dev><br>
<b>Cc:</b> petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS</font>
<div> </div>
</div>
<div>
<div>
<div>
<div dir="ltr">
<div dir="ltr" style="">Hi Hong,</div>
<div dir="ltr" style=""><br>
</div>
<div dir="ltr" style="">The second option, I want to solve A^T X = B.</div>
<div dir="ltr" style="">The MatMatSolveTranspose() function in petsc.</div>
<div dir="ltr" style=""><br>
</div>
<div dir="ltr" style="">Lucas</div>
</div>
</div>
<div id="x_ms-outlook-mobile-signature">
<div></div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> petsc-users <petsc-users-bounces@mcs.anl.gov> on behalf of Zhang, Hong via petsc-users <petsc-users@mcs.anl.gov><br>
<b>Sent:</b> Thursday, August 4, 2022 6:02:21 PM<br>
<b>To:</b> Junchao Zhang <junchao.zhang@gmail.com>; Barry Smith <bsmith@petsc.dev><br>
<b>Cc:</b> petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr"><span style="font-family:Calibri"><span style="font-size:11pt">
<table style="background-color:#fbe3b3; border:1px solid black">
<tbody>
<tr>
<td><font style="color:#462c1d"><strong>Caution:</strong> This message was sent from outside the University of Manitoba.<span></span></font></td>
</tr>
</tbody>
</table>
</span></span><br>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<blockquote type="cite" style="color:rgb(32,31,30); font-size:15px; background-color:rgb(255,255,255)">
<div style="margin:0px">
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
<span style="margin:0px">Lucas, </span></div>
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
<span style="margin:0px">Solving</span></div>
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
<span style="margin:0px">A X = B^T #MatMatTransposeSolve() </span>-- supported by petsc/mumps interface</div>
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
<span style="margin:0px">or </span></div>
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
A^T X = B #MatTransposeMatSolve() -- not supported</div>
<div style="font-size:12pt; font-family:Calibri,Arial,Helvetica,sans-serif; margin:0px">
which one do you want ?</div>
</div>
</blockquote>
Hong</div>
<div id="x_x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> petsc-users <petsc-users-bounces@mcs.anl.gov> on behalf of Junchao Zhang <junchao.zhang@gmail.com><br>
<b>Sent:</b> Thursday, August 4, 2022 5:21 PM<br>
<b>To:</b> Barry Smith <bsmith@petsc.dev><br>
<b>Cc:</b> petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] Question about speed of MatMatSolveTranspose with MUMPS</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
It seems yes, from mump manual</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
<br>
</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
ICNTL(9) computes the solution using A or A<span class="x_x_x_gmail-s1" style="font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal">T</span></p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
Phase: accessed by the host during the solve phase.</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
Possible values :</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
1 : AX = B is solved.</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
!= 1 : A<span class="x_x_x_gmail-s1" style="font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal">T</span>X = B is solved.</p>
<p class="x_x_x_gmail-p1" style="margin:0px; font-variant-numeric:normal; font-variant-east-asian:normal; font-stretch:normal; line-height:normal; font-family:Helvetica">
<br>
</p>
</div>
<br>
<div class="x_x_x_gmail_quote">
<div dir="ltr" class="x_x_x_gmail_attr">On Thu, Aug 4, 2022 at 4:20 PM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<br>
</div>
<blockquote class="x_x_x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div style="">
<div><br>
</div>
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.
<div><br>
</div>
<div> Barry</div>
<div><br>
<div><br>
<blockquote type="cite">
<div>On Aug 4, 2022, at 3:55 PM, Lucas Banting <<a href="mailto:bantingl@myumanitoba.ca" target="_blank">bantingl@myumanitoba.ca</a>> wrote:</div>
<br>
<div>
<div style="font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
Hello,<br>
</div>
<div style="font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
<br>
I am using MUMPS to solve a system with multiple right hand sides.</div>
<div style="font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt">
I have noticed that the MatMatSolve function appears to be quite a bit faster than the MatMatSolveTranspose function.<br>
I was trying to look through the petsc source to see where the MatMatSolveTranspose_MUMPS function was but couldn't find it.<br>
<br>
Is PETSc just doing MatSolveTranspose_MUMPS for each right hand side when doing MatMatSolveTranspose with MUMPS?<br>
If an accelerated version of MatMatSolveTranspose existed, it would be very useful for my application.<br>
<br>
Regards,
<div>Lucas</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>