[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