[petsc-users] How to compute RARt with A and R as distributed (MPI) matrices ?

Jed Brown jed at jedbrown.org
Wed Jun 21 11:30:17 CDT 2017


It is only implemented for SeqAIJ, but it should arguably have a default
implementation that performs an explicit transpose and then calls
MatMatMatMult or MatPtAP.

Franck Houssen <franck.houssen at inria.fr> writes:

> I read the doc, and googled this before to write a dummy example. So, matRARt is only for sequential matrices, and, matPtAP for distributed ones : correct ? (means, I "just" used the "wrong" method) 
> If so, this is a major difference which does not seem (to me) to be emphasized enough in the doc, in particular for a new user (the matRARt and matPtAP pages are the same with R replaced with Pt). Where was it possible to find this information ? 
>
> Franck 
>
> ----- Mail original -----
>
>> De: "Dave May" <dave.mayhem23 at gmail.com>
>> À: "Franck Houssen" <franck.houssen at inria.fr>, "PETSc users list"
>> <petsc-users at mcs.anl.gov>, "petsc-dev" <petsc-dev at mcs.anl.gov>
>> Envoyé: Mercredi 21 Juin 2017 15:11:27
>> Objet: Re: [petsc-users] How to compute RARt with A and R as distributed
>> (MPI) matrices ?
>
>> You can assemble R^t and then use MatPtAP which supports MPIAIJ
>
>> On Wed, 21 Jun 2017 at 15:00, Franck Houssen < franck.houssen at inria.fr >
>> wrote:
>
>> > How to compute RARt with A and R as distributed (MPI) matrices ?
>> 
>
>> > This works with sequential matrices.
>> 
>> > The doc say "currently only implemented for pairs of AIJ matrices and
>> > classes
>> > which inherit from AIJ": I supposed that MPIAIJ was someway inheriting from
>> > AIJ, seems that it doesn't.
>> 
>
>> > Is this kind of matrix product possible with distributed matrices in PETSc
>> > ?
>> > Or is this a known limitation ?
>> 
>> > Do I go the wrong way to do that (= should use another method) ? If yes,
>> > what
>> > is the correct one ?
>> 
>
>> > Franck
>> 
>
>> > PS: running debian/testing + gcc-6.3 + bitbucket petsc.
>> 
>
>> > >> mpirun -n 2 matRARt.exe seq
>> 
>> > Mat Object: 1 MPI processes
>> 
>> > type: seqaij
>> 
>> > row 0: (0, 1.) (1, 0.)
>> 
>> > row 1: (0, 0.) (1, 1.)
>> 
>
>> > >> mpirun -n 2 matRARt.exe mpi
>> 
>> > [0]PETSC ERROR: --------------------- Error Message
>> > --------------------------------------------------------------
>> 
>> > [0]PETSC ERROR: No support for this operation for this object type
>> 
>> > [0]PETSC ERROR: Matrix of type <mpiaij> does not support RARt
>> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170621/8a292878/attachment.pgp>


More information about the petsc-users mailing list