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

Arthur Kurlej akurlej at gmail.com
Wed Jun 25 16:37:59 CDT 2014


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
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140625/1fe16dfd/attachment.html>


More information about the petsc-users mailing list