[petsc-users] The multiplication of the transpose of a dense matrix(A^T) and a large sparse matrix(X1)

Hong Zhang hzhang at mcs.anl.gov
Tue Jun 4 14:04:24 CDT 2013


Jed,

> >
> > I am trying to multiply the transpose of a dense matrix(A) and a large
> sparse matrix(X1). That is, A^T x X1.
> >
>
> Hong, do you have time to implement MatTransposeMatMult_MPIAIJ_MPIDense?
>

He needs MatTransposeMatMult_MPIDense_MPIAIJ
This requires huge amount of data communications among MPI processes.

Hong

>
> Can you create X1 as X1^T instead?
>
> If you want to keep storing X1 is you do now, you can either store it as
> ten vectors and use MatMultTranspose or you can pack it into one vector
> and use
>
>   MatCreateMAIJ(X1,10,&X1m);
>   MatMultTranspose(X1m,Apacked,Bpacked);
>
> This is actually a better ordering for memory bandwidth.  The MAIJ
> matrix does not need extra storage.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130604/d8bc764c/attachment.html>


More information about the petsc-users mailing list