MPIDense row distribution on transpose.

Alex Peyser a.peyser at
Thu Sep 4 22:06:36 CDT 2008


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.

Alex Peyser
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the petsc-users mailing list