[petsc-dev] MatMatMult gives different results

Hong Zhang hzhang at mcs.anl.gov
Tue Feb 7 10:06:07 CST 2012


Alexander:
Thanks for sending matrix data and testing code.
Before testing it, I have question about your code:

>
>   MatCreateMPIAIJ(PETSC_COMM_WORLD, PETSC_DECIDE, PETSC_DECIDE, N, M, 12,
> PETSC_NULL, 12, PETSC_NULL, &AT);
>
>   MatTranspose(A,MAT_IGNORE_MATRIX,&AT);
>

should be replaced with
MatTranspose(A,MAT_INITIAL_MATRIX,&AT);


>
> To compare results I use following Matlab script:
>
> Cm = A.'*B;
>
              ^

Do you mean 'Cm = A'*B;'?
'Cm = A.'*B;' gives component-wise matrix product, not matrix product.

Hong



> C = PetscBinaryRead('C.dat','complex',true);
>
> Matrix C is different depending on number of cores I use.
> My PETSc is:
> Using Petsc Development HG revision:
> 876c894d95f4fa6561d0a91310ca914592527960  HG Date: Tue Jan 10 19:27:14 2012
> +0100
>
>
> On 06.02.2012 17:13, Hong Zhang wrote:
>
> MatMatMult() in petsc is not well-tested for complex - could be buggy.
> Can you send us the matrices A and B in petsc binary format for
> investigation?
>
>  Hong
>
> On Mon, Feb 6, 2012 at 5:55 AM, Alexander Grayver <agrayver at gfz-potsdam.de
> > wrote:
>
>> Dear PETSc team,
>>
>> I try to use:
>> call
>> MatMatMult(A,B,MAT_INITIAL_MATRIX,PETSC_DEFAULT_DOUBLE_PRECISION,C,ierr);CHKERRQ(ierr)
>>
>> Where both A and B are rectangular, but A is sparse and B is dense. Both
>> are double complex and distributed.
>> The product PETSc gives me contains some errors in some part of the
>> matrix.
>> I output A, B and C then computed product in matlab.
>>
>> Attached you see figure plotted as:
>> imagesc(log10(abs(C-Cm)))
>>
>> Where Cm -- product computed in matlab.
>>
>> The pattern and amplitude vary depending on the number of cores I use.
>> This picture is obtained for 48 cores (I've tried 12, 64 cores as well).
>>
>> Where should I look for possible explanation?
>>
>> --
>> Regards,
>> Alexander
>>
>
>
>
> --
> Regards,
> Alexander
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120207/9082ffb6/attachment.html>


More information about the petsc-dev mailing list