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

cgs iteration always crash in pardiso

jieah
Beginner
651 Views

I'm following the manual of pardiso to solve sparse unsymmetric systems.

And the coefficent matrixs always have the same identical sparsity pattern, so I tried to use the cgs iterative method by setting iparam(4) (in c++ it's iparam[3]) = 51, but the solver always crashs somewhere at "ssnslv_pardiso" inside pardiso solver. But if I resetiparam(4)=0, the solver runs fine, and the correct result can be obtained.

So what do I miss?

0 Kudos
7 Replies
Sergey_P_Intel2
Employee
651 Views
Hi,

First of all, thank you for using MKL PARDISO.

It is not clear from your post how PARDISO is used in your application. Could you provide us with additional information about MKL version, OS, PARDISO input parameters, size of the task, number of threads, linking line?

With best regards,
Sergey

0 Kudos
jieah
Beginner
651 Views
Hi Sergey,
Thanks for your quick reply!
The MKL version is v10.0.012. And the OS is WinXP SP3.
The size of the task varies from 10 to 100000. The solver runs with 2 threads.
And I link against the following libs,
mkl_c.lib mkl_solver.lib libguide40.lib
I set the following input parameters for PARDISO in stage 11 and 22
mtype = 11;
pt[0...64] = NULL;
iparm[0...64] = 0;
maxfct = 1;
mnum = 1;
msglvl = 0;
error = 0;
rhs=1;
And in solving stage, if I set phase=23 or 33; iparm[3]=0; iparm[7]=100; I can get the exact solution.
But if I set iparm[3] to anything else but 0, the solver will crash always, and the debugger says
"Access violation reading location 0x00000001"
Regards,
jie
Hi,

First of all, thank you for using MKL PARDISO.

It is not clear from your post how PARDISO is used in your application. Could you provide us with additional information about MKL version, OS, PARDISO input parameters, size of the task, number of threads, linking line?

With best regards,
Sergey


0 Kudos
Gennady_F_Intel
Moderator
651 Views
first of all, please change the linking line you are using by the following one:
"mkl_solver.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib"
and let us know what's going on with this problem.
--Gennady
0 Kudos
jieah
Beginner
651 Views

it's still the same situation, if iparam[3]=0, everything is fine
otherwise the solver still crashes.
--jie

0 Kudos
Sergey_P_Intel2
Employee
651 Views
Quoting - jieah

it's still the same situation, if iparam[3]=0, everything is fine
otherwise the solver still crashes.
--jie


Thissituation is not so clear for me. Namely, if iparam[0]=0, then PARDISO uses iparam values by default, so any changes of iparam[3] should take no effect. Please try iparam[0] = 1 (no defaults for PARDISO) and run the program again. If the situation will be the same, pleasevisit http://premier.intel.com and submit issue.
- Sergey
0 Kudos
jieah
Beginner
651 Views
It's still the same situation.
I've tried to visithttp://premier.intel.com, but it says my access to the Intel Premier Support web site can't be authenticated ...

Thissituation is not so clear for me. Namely, if iparam[0]=0, then PARDISO uses iparam values by default, so any changes of iparam[3] should take no effect. Please try iparam[0] = 1 (no defaults for PARDISO) and run the program again. If the situation will be the same, pleasevisit http://premier.intel.com and submit issue.
- Sergey

0 Kudos
jieah
Beginner
651 Views

I've upgraded to the latest version v10.1.2, and the problem solved!

And also the "mkl_serv_allocate" bug is fixed!

Thanks for your help!

0 Kudos
Reply