[petsc-users] GAMG setup scalability

Mark F. Adams mark.adams at columbia.edu
Fri Aug 17 10:27:43 CDT 2012


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>


More information about the petsc-users mailing list