[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