[petsc-users] MatMult() returning different values depending on # of processors?

Barry Smith bsmith at mcs.anl.gov
Wed Jun 25 18:24:05 CDT 2014


   Can you send the code that reproduces this behavior?

   Barry

On Jun 25, 2014, at 4:37 PM, Arthur Kurlej <akurlej at gmail.com> wrote:

> Hi Barry,
> 
> So for the matrix C that I am currently testing (size 162x162), the condition number is roughly 10^4.
> 
> For reference, I'm porting MATLAB code into PETSc, and for one processor, the PETSc b vector is roughly equivalent to the MATLAB b vector. So I know that for one processor, my program is performing as expected.
> 
> I've included examples below of values for b (also of size 162), ranging from indices 131 to 141.
> 
> #processors=1: 
>                          0
>      1.315217173959314e-20
>      1.315217173959314e-20
>      4.843201487740107e-17
>      4.843201487740107e-17
>      8.166104700666665e-14
>      8.166104700666665e-14
>      6.303834267553249e-11
>      6.303834267553249e-11
>      2.227932688485483e-08
>      2.227932688485483e-08
> 
> # processors=2:
>      5.480410831461926e-22
>      2.892553944350444e-22
>      2.892553944350444e-22
>      7.524038923310717e-24
>      7.524038923214420e-24
>     -3.340766769043093e-26
>     -7.558372155761972e-27
>      5.551561288838557e-25
>      5.550551546879874e-25
>     -1.579397982093437e-22
>      2.655766754178065e-22
> 
> # processors = 4:
>      5.480410831461926e-22
>      2.892553944351728e-22
>      2.892553944351728e-22
>      7.524092205125593e-24
>      7.524092205125593e-24
>     -2.584939414228212e-26
>     -2.584939414228212e-26
>                          0
>                          0
>     -1.245940797657998e-23
>     -1.245940797657998e-23
> 
> # processors = 8:
>      5.480410831461926e-22
>      2.892553944023035e-22
>      2.892553944023035e-22
>      7.524065744581494e-24
>      7.524065744581494e-24
>     -2.250265175188197e-26
>     -2.250265175188197e-26
>     -6.543127892265160e-26
>     1.544288143499193e-317
>      8.788794008375919e-25
>      8.788794008375919e-25
> 
> 
> Thanks,
> Arthur
> 
> 
> 
> On Wed, Jun 25, 2014 at 4:06 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>    How different are the values in b? Can you send back a few examples of the different b’s? Any idea of the condition number of C?
> 
>    Barry
> 
> On Jun 25, 2014, at 3:10 PM, Arthur Kurlej <akurlej at gmail.com> wrote:
> 
> > Hi all,
> >
> > While running my code, I have found that MatMult() returns different values depending on the number of processors I use (and there is quite the variance in the values).
> >
> > The setup of my code is as follows (I can go into more depth/background if needed):
> > -Generate parallel AIJ matrix of size NxN, denoted as A
> > -Retrieve parallel AIJ submatrix from the last N-1 rows&columns from A, denoted as C
> > -Generate vector of length N-1, denoted as x
> > -Find C*x=b
> >
> > I have already checked that A, C, and x are all equivalent when ran for any number of processors, it is only the values of vector b that varies.
> >
> > Does anyone have an idea about what's going on?
> >
> >
> > Thanks,
> > Arthur
> >
> 
> 



More information about the petsc-users mailing list