MPIDense row distribution on transpose.

Alexander Peyser a.peyser at umiami.edu
Mon Sep 8 14:46:11 CDT 2008


Thanks,

I copied the dense matrix compose and fixed that line for my code - works well 
with my tests.

Is there a version number macro defined in petsc? Some kind of 
#define PETSC_VERSION xx.yy.zzz
?

Thanks,
Alex Peyser

On Monday 08 September 2008 15:01:22 Barry Smith wrote:
>    Alex,
>
>       This is really a bug, we should consistently using use the
> transpose of the given
> values (I guess).
>
>      I have pushed a fix for petsc-dev. You can fix your copy of
> petsc-2.3.3 by
> simply sticking in the code you indicated from MatTranspose_MPIAIJ()
>
>     Barry
>
> On Sep 4, 2008, at 10:06 PM, Alex Peyser wrote:
> > All,
> >
> > In petsc-2.3.3_p11, when I do a transpose on an MPIAIJ, the
> > MatTranspose
> > conserves the row distribution pattern of the parent, so a 5x5 matrix
> > transposed can still be multiplied by a 5-vector that the parent
> > could be
> > multiplied by (0-1,2-4 for everyone). However, with an MPIDENSE, I
> > get a row
> > rearrangement so that mpi process 1,2 now have (0-2, 3-4), which
> > leads to
> > nonconforming object size errors.
> >
> > Is this a known bug in MPIDense ? Is there a workaround - some way
> > to force
> > the matrix arrangement on tranpose for an MPIDense?
> >
> > I see that in MatTranspose_MPIAIJ, MatSetSizes is called
> > with (A->cmap.n, A->rmap.n, N, M), which conserves my layout,
> > while in MatTranspose_MPIDense, MatSetSizes is called
> > with (PETSC_DECIDE, PETSC_DECIDE, N, M), which then ruins my layout.
> > The
> > former would appear to me the correct sequence.
> >
> > Regards,
> > Alex Peyser





More information about the petsc-dev mailing list