Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7093 Discussions

Wrong solution computed by distributed PARDISO with 0-based indexed BSR matrix

asd__asdqwe
Beginner
839 Views

Hello,

I'm attaching two .c files that should compute the solution of the linear system Ax = b, with

A = [1, -3, 5, 1;
-1, -2, 6, 10;
4, -4, 7, -5;
4, 2, 8, -1];

and

b = [1;1;0.75;1]

The solution given by MATLAB is the same as with the file cl_solver_unsym_distr_1.c, i.e.,

x =

   -1.0000
    0.1500
    0.5500
   -0.3000

With cl_solver_unsym_distr_0.c, I get a completly wrong solution: x = [-0.031169, -0.036084, 0.139033, 0.026384]'

Moreover, at the beginning of the execution, I get the following output:

1-based array indexing is turned ON

which is wrong, since I'm setting iparm[34] to 1.

Can you reproduce this issue? How can I fix it? I'm compiling the examples with the following command: make sointel64 mpi=mpich2 compiler=intel (inside the folder /opt/intel/mkl/examples/cluster_sparse_solverc of MKL 11.3.3)

0 Kudos
9 Replies
asd__asdqwe
Beginner
839 Views

Is this fixed in the upcoming update? Thank you in advance for an answer.

0 Kudos
asd__asdqwe
Beginner
839 Views

With the latest MKL from m_ccompxe_2017.0.036.dmg, I now have the following error with these scripts:

Fatal error in MPI_Reduce: Invalid count, error stack:
MPI_Reduce(1258): MPI_Reduce(sbuf=0x7fbae3700500, rbuf=0x7fbae3607500, count=-16380, MPI_DOUBLE, MPI_SUM, root=0, comm=0x84000004) failed
MPI_Reduce(1167): Negative count, value is -16380

Do you have a fix? Thanks.

0 Kudos
Gennady_F_Intel
Moderator
839 Views

Actually, this issue is targeted to be fixed in MKL 2017 update 1. We will keep you updated with the status of this issue.

0 Kudos
Gennady_F_Intel
Moderator
839 Views

MKL 2017 update 1 has been recently released. Could  you please check if the problem is still there and let us know! regards.

0 Kudos
asd__asdqwe
Beginner
839 Views

The problem is still there, I still get a completely wrong solution with the 0-based approach:

The solution of the system is:
 on zero process x [0] = -0.031169
 on zero process x [1] = -0.036084

The solution of the system is:
 on first process x [0] =  0.139033
 on first process x [1] =  0.026384

 

With the 1-based approach, I still get the correct solution:

The solution of the system is:
 on zero process x [0] = -1.000000
 on zero process x [1] =  0.150000

The solution of the system is:
 on first process x [0] =  0.550000
 on first process x [1] = -0.300000

 

Can you fix this please? Thanks.

0 Kudos
asd__asdqwe
Beginner
839 Views

Can you reproduce this issue? Thank you.

0 Kudos
Gennady_F_Intel
Moderator
839 Views

yes, we have to confirm the issue still exists with version 2017 u1. 

0 Kudos
Gennady_F_Intel
Moderator
839 Views

Dear users, please accept our apologize for the wrong message regard to the previous message about the fix of this issue in MKL 2017 u1. Actually the fix of this issue will be available into MKL 2017 update 2. Regards, Gennady

0 Kudos
Gennady_F_Intel
Moderator
839 Views

MKL 2017 update 2 is released a few days ago. Could you please check the problem with this update and keep us inform the status.

0 Kudos
Reply