cgs iteration always crash in pardiso

cgs iteration always crash in pardiso

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?

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

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

Quoting - Sergey Pudov (Intel)

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

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

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

--jie

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

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 ...

Quoting - Sergey Pudov (Intel)

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

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!

Login to leave a comment.