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

How to avoid common PARDISO pitfalls

Todd_R_Intel
Employee
590 Views
We've noticed quite a bit of traffic on the forum recently from PARDISO users.Many of the postsreporterror messages or unexpected results.

To ease the first time use of PARDISO we've put together a knowledgebase article that discusses some tools and tips. Our hope is that this will be a guide to some of the most important settings and will prevent some of the most common causes of errors. We encourage you toadd your comments to the knowledgebase article onways that we can improve this article.

Also, please reply here if you have other overall suggestions for the PARDISO solver and associated documentation-especially ideas and comments about how to make it easier to use this complex functionality for the first time.

Thanks,
Todd
Intel MKL support
0 Kudos
7 Replies
garyli57
Beginner
590 Views
We've noticed quite a bit of traffic on the forum recently from PARDISO users.Many of the postsreporterror messages or unexpected results.

To ease the first time use of PARDISO we've put together a knowledgebase articlethat discusses some tools and tips. Our hope is that this will be a guide to some of the most important settings and will prevent some of the most common causes of errors. We encourage you toadd your comments to the knowledgebase article onways that we can improve this article.

Also, please reply here if you have other overall suggestions for the PARDISO solver and associated documentation-especially ideas and comments about how to make it easier to use this complex functionality for the first time.

Thanks,
Todd
Intel MKL support

I tried to run the Pardiso sparse solver example in MKL (also see http://www.pardiso-project.org/manual/pardiso_sym.f ) using Intel Visual Fortran 10.1 and got problems:

.......

< Linear system Ax = b>

#equations: 8

#non-zeros in A: 18

non-zeros in A (): 28.125000

#right-hand sides: 1

< Factors L and U >

#columns for each panel: 80

#independent subgraphs: 0

< Preprocessing with state of the art partitioning metis>

#supernodes: 4

size of largest supernode: 4

number of nonzeros in L 31

number of nonzeros in U 1

number of nonzeros in L+U 32

gflop for the numerical factorization: 0.000000

gflop/s for the numerical factorization: 0.000117

forrtl: severe (157): Program Exception - access violation


I could run the same example using Compaq Fortran 6 and getcorrect results.

The Pardiso solver has been used in our FE program and we plan to migrate to Intel Fortran.

I guessit may be caused by improper settings in the project properties.
Does anyone have the same problem ortell me how to solve it? I'd like to receivea Intel Fortran project that solves the example?

Thanks and have a wonderful holiday.
Gary

0 Kudos
Gennady_F_Intel
Moderator
590 Views
Gary,
could you please let us know, how do you link this example?
--Gennady

0 Kudos
garyli57
Beginner
590 Views
Gary,
could you please let us know, how do you link this example?
--Gennady


Thanks Gennady,
It's very simple.I just created a new console application under Intel Fortran in Visual Studio 2005 and add the Fortran code from: http://www.pardiso-project.org/manual/pardiso_sym.f

In Intel Fortran Compilers under Tools Options, the Selected Compiler is Intel Fortran Compiler 10.1.011 [IA-32]. I addC:Program FilesIntelMKL10.2.3.029ia32lib inLibraries, and C:Program FilesIntelMKL10.2.3.029include in Includes.

In the Project Property pages, I add the following under Linker Input Additional Dpendencies.

mkl_solver_sequential.lib mkl_intel_s.lib mkl_sequential.lib mkl_core.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

I don't know how toattach the project files.

Gary
0 Kudos
Gennady_F_Intel
Moderator
590 Views
hmm, all looks correct. thanks for the update - i will check the problem
--Gennady

0 Kudos
Gennady_F_Intel
Moderator
590 Views
Quoting - garyli57
Gary,
could you please let us know, how do you link this example?
--Gennady


Thanks Gennady,
It's very simple.I just created a new console application under Intel Fortran in Visual Studio 2005 and add the Fortran code from: http://www.pardiso-project.org/manual/pardiso_sym.f

In Intel Fortran Compilers under Tools Options, the Selected Compiler is Intel Fortran Compiler 10.1.011 [IA-32]. I addC:Program FilesIntelMKL10.2.3.029ia32lib inLibraries, and C:Program FilesIntelMKL10.2.3.029include in Includes.

In the Project Property pages, I add the following under Linker Input Additional Dpendencies.

mkl_solver_sequential.lib mkl_intel_s.lib mkl_sequential.lib mkl_core.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

I don't know how toattach the project files.

Gary

Gary, i am sorry, i was inattentive - please link mkl_intel_c.lib instead of mkl_intel_s.lib
and try again ...
--Gennady
0 Kudos
garyli57
Beginner
590 Views

Gary, i am sorry, i was inattentive - please link mkl_intel_c.lib instead of mkl_intel_s.lib
and try again ...
--Gennady

Thanks, Gennady. It works now.
Gary
0 Kudos
Gennady_F_Intel
Moderator
590 Views
Quoting - garyli57

Thanks, Gennady. It works now.
Gary

Gary, just as an additional info: the more info about
"Using the cdecl and stdcall Interfaces", you can find into MKL's UserGuide - chapter 5.
--gif

0 Kudos
Reply