On Aug 17, 2012, at 11:08 AM, Jed Brown wrote:
> On Fri, Aug 17, 2012 at 9:59 AM, John Fettig <john.fettig at gmail.com> wrote:
> I'd be willing to live with the MatPtAP time, it is the
> MatTransposeMatMult time that is really poor. Any idea why the latter
> is so slow?
>
> Mark, for a symmetric graph, how about using MatMatMult() here? Even for a
> non-symmetric problem, MatMatTransposeMult() is faster than
> MatTransposeMatMult().
The code has:
if( pc_gamg_agg->square_graph ) {
/* ierr = MatMatTransposeMult( Gmat1, Gmat1, MAT_INITIAL_MATRIX,
PETSC_DEFAULT, &Gmat2 ); */
ierr = MatTransposeMatMult( Gmat1, Gmat1, MAT_INITIAL_MATRIX,
PETSC_DEFAULT, &Gmat2 );
CHKERRQ(ierr);
}
I thought MatMatTransposeMult would be faster also, but my experiments were
inconclusive ... and I figure this has got to change so I did not worry too
much about optimizing it. I don't know if a matrix is symmetric and I've not
wanted to rely on the user telling me, but I'm willing to add this logic if it
is useful.
John: could you perhaps test MatMatMult and MatMatTransposeMult so we could get
some concrete numbers?
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120817/2541989c/attachment-0001.html>