<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Jed :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">~jedbrown/ceres_solver_<wbr>iteration_001_A.petsc on <a href="http://mcs.anl.gov" rel="noreferrer" target="_blank">mcs.anl.gov</a>.<br></blockquote><div>I got this file. How many matrices in this file? How to load them?</div><div>It seems the first matrix is rectangular.</div><div><br></div><div>Hong</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The issue is that MatTransposeMatMult is implemented using sparse outer<br>
products which is quite inefficient compared to the standard MatMatMult<br>
algorithm.<br>
<div class="HOEnZb"><div class="h5"><br>
Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> writes:<br>
<br>
> Send the runable case so that we can determine the cause of the slow down and find possible cures. It could be that the "optimized" version was optimized for a particular size of problems or matrix structure.<br>
><br>
> Barry<br>
><br>
>> On Sep 20, 2017, at 4:32 PM, Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> wrote:<br>
>><br>
>> I have a simple SeqAIJ example where MatTransposeMatMult is 30x slower<br>
>> than MatTranspose followed by MatMatMult. This is embarrassing when<br>
>> people try to compare performance. Are there any cases where these<br>
>> custom implementations provide value rather than just confusing people<br>
>> or turning them away from PETSc?<br>
</div></div></blockquote></div><br></div></div>