<div dir="ltr"><div dir="ltr">Kun:<br></div><div>How do you know 'MatMultTranpose creates an extra memory copy of matrix'?</div><div>Hong</div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_-3538158395817514375WordSection1">
<p class="MsoNormal">Hi,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I was using MatMultTranpose and MatMult to solver a linear system.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">However we found out, MatMultTranpose create an extra memory copy of matrix for its operation. This extra memory copy is not stated everywhere in petsc manual.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">This basically double my memory requirement to solve my system.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I remember mkl’s routine can do inplace matrix transpose vector product, without transposing the matrix itself.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Is this always the case? Or there is way to make petsc to do inplace matrix transpose vector product.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Any help is greatly appreciated.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Regards,<u></u><u></u></p>
<p class="MsoNormal">Kun<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<br>
<p class="gmail-m_-3538158395817514375msipfooter6d2e06ff" align="Center" style="margin:0px"><span style="font-size:10pt;font-family:Calibri;color:rgb(0,0,0)">Schlumberger-Private</span></p>
</div>
</div>

</blockquote></div></div>