Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28442 Discussions

How to import Pardiso.lib into Visual Studio 2013 (Fortran Compiler)?

EB1
Beginner
1,020 Views

Hi,

I am running a Fortran routine on Visual Studio which requires the paradiso library.

I already importet it as it is discribed via "Additional Includes Direcotires" and the "drag and drop" function into the source file. Nothing seems to work. When trying to compile the code I get an error that it is not possible to include the file.
Unfortunately the insturction from Pardiso was not helpful, either.

Thank you in advance.

 

 

0 Kudos
8 Replies
andrew_4619
Honored Contributor II
1,020 Views

1] Pardiso solvers are in MKL supplied with ifort 

https://software.intel.com/en-us/mkl-developer-reference-fortran-intel-mkl-pardiso-parallel-direct-sparse-solver-interface

2] You have not given any detail in your request that would help someone to help you without lots of guesswork e.g. what was the error or better post the buildlog that shows what build command you used and what the outcome was....

0 Kudos
gib
New Contributor II
1,020 Views

It's been a long time since I used Pardiso, but as I recall it was just necessary to add the Intel-supplied file mkl_pardiso.f90 to the project, then USE the module mkl_pardiso where needed.  No need to do anything with include directories.

0 Kudos
mecej4
Honored Contributor III
1,020 Views

Partly guessing: it is not sufficient to specify MKL additional include directories. You also have to specify the MKL libraries to be linked. Use the link line advisor, https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor .

The MKL versions of Pardiso and Pardiso-5 from Basel/Lugano are not interchangeable.

0 Kudos
EB1
Beginner
1,020 Views

Thank you for your answers. To be honest I am working the first time with Visual Studio, so sorry for the incomplete error discription.

After tryining to compile the FORTRAN modules I get the error#11018: Cannot open libpardiso-500-WIN-64.lib and the fatal error LNK1181. At this point I was using the pardiso library from: http://www.pardiso-project.org/

Unfortunelty I dont know which pardiso version is used in the code. I got it and now am tryining to make it work on my PC before adjusting it.

After readining your comments I installed die mkl library from intel. I included it in the code with "USE" but this didnt seem to work either. It says error#7002: Error in opening the compiled module file. and error#6450: this name has already been used as an externam module name. And it links to my "call pardiso" row.

Thank you all in advance!!

0 Kudos
andrew_4619
Honored Contributor II
1,020 Views

MKL etc is is not my field but looking at http://www.pardiso-project.org/ that library is for ifort 10 which is ancient. I would not expect it to work with a current ifort version. I suggest you post some bits of code showing how the pardiso routines are accessed  and called and someone else might prefer some info on which system is being used.  Also what ifort version are you using?

 

0 Kudos
EB1
Beginner
1,020 Views

This is probably a damn rookie question, but how do I find out which ifort version I am running? A quick internet research didnt seem to offer a adequat answer.

my subroutine call looks like this:

call pardiso(pt,1,1,11,13,ndof,values(1:nzf),rowptrf,colind(1:nzf),perm,1,iparm,0,R(:,1),dU(:,1),ier)

its a paradiso call with 17 variables.

0 Kudos
mecej4
Honored Contributor III
1,020 Views

If the Pardiso call has 17 arguments, the last argument is named DPARM, and the MKL version of Pardiso does not have this argument; your code is calling Pardiso-4 or Pardiso-5 from Basel/Lugano, not the MKL version.

Open an IFort command window from the Start menu, and type the command ifort /v to find the compiler version. You can also look up the Windows Programs and Applications control panel.

Section 3.3 of the Pardiso-5 manual tells you how to build and run from the command line. In short, all that you have to do is (i) compile and link with the Pardiso-5 library using the 64-bit Intel compiler (ii) make sure that PATH includes the directory containing the Pardiso-5 DLL and (iii) set PARDISO_LIC_PATH to the directory containing the Pardiso-5 license file.

Each of these steps has a corresponding setting in Visual Studio. Using Pardiso-5 is done using the standard method for using any third-party library with Intel compilers.

Your using terms such as "import" in a promiscuous way raises a red flag: your questions may not be understood, and the answers that you receive may be confusing to you. You need to educate yourself by reading good documentation; "quick internet searches" are not enough.

Andrew: Pardiso-5 works fine with Ifort 16 and 17. The library is just an import library for the DLL, and the DLL has few external dependencies.

0 Kudos
Steve_Lionel
Honored Contributor III
1,020 Views

You can also find the version in Visual Studio - select Help > About. Under "Installed Products" click on the entry for Intel Parallel Studio. Under Product Details it will give the installed version. Since it is possible to have multiple compiler versions installed (but only one version of VS integration), it is also helpful to look at the beginning of the build log (Buildlog.htm in the Debug or Release folder) where it says "Compiling with ...."

0 Kudos
Reply