Installing and using the IMSL* Libraries


Introduction

This article explains how to install, configure and use the IMSL* Fortran Numerical Library, as provided with Intel® Parallel Studio XE Composer Edition for Fortran Windows with Rogue Wave* IMSL 7, or as the add-on product Rogue Wave IMSL* Fortran Libraries for Windows. It is not applicable to versions of IMSL obtained from other sources.

This article supplements the on-disk documentation provided at Building Applications > Using Libraries > Using the IMSL* Mathematical and Statistics Libraries. Please refer to that text for more detail on using IMSL.


Installation

The IMSL* libraries are supplied as a separate download from the Intel Software Development Products Registration Center. If your license is for "Intel Visual Fortran Composer XE with Rogue Wave IMSL", you will find the IMSL installer listed under "Related Files". If you have purchased IMSL as an add-on for other Intel products containing Intel Visual Fortran, Rogue Wave IMSL* Fortran Libraries for Windows, the installer will be available in the Intel Registration Center page for the add-on. There is one download which supplies libraries for both IA-32 and Intel® 64 architecture targets.. The file name is of the form:

  • imsl_7.0.1.xxx.exe - for building applications that run on the IA-32 or Intel® 64 architectures

You must install Intel Parallel Studio XE before installing the IMSL libraries. 


Configuring for Use from the Command Line

Intel Visual Fortran  automatically establishes the environment for using IMSL when a command prompt session is started through the provided shortcuts: Start > All Programs > Intel Parallel Studio XE 2016 > Compiler and Performance Libraries > Command Prompt with Intel Compiler 16.0 


Configuring for Use from Microsoft Visual Studio*

It is necessary to add the paths for the IMSL INCLUDE and library files to Visual Studio.

  • Open Microsoft Visual Studio
  • Select Tools > Options
  • Under Options, select Intel Compilers and Tools >  Visual Fortran > Compilers
  • Select the Target Platform for which you want to make changes. The default of "Win32" is for the IA-32 architecture target. Select "x64" for the Intel® 64 architecture target.
  • Make sure that the desired compiler version is selected.
  • At the right of Libraries., click the "..." button.
  • Add to the end of the list,
    $(FNL_DIR)\IA32\lib (for IA-32 architecture target, or)
    $(FNL_DIR)\Intel64\lib (for Intel 64 architecture target)
  • Click OK.
  • At the right of Includes, click the "..." button.
  • Add to the end of the list,
    $(FNL_DIR)\IA32\include\dll (for IA-32 architecture target, or)
    $(FNL_DIR)\Intel64\include\dll ( for Intel 64 architecture target)
  • Click OK
  • Repeat for the other target architecture if desired
  • Click OK to save the changes.

Building Applications

You must specify the set of IMSL libraries you want to use.  The easiest way to do this is to add one or two lines to a convenient source file in your application, such as the main program.  The library sets are described in detail in the compiler documentation, but most users will want one of the following:

For DLL linking to the IMSL libraries (recommended):

INCLUDE 'link_fnl_shared.h'

For static linking to the IMSL libraries:

INCLUDE 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'

IMSL 7 has made changes from IMSL 6 in the set of include files used for selecting sets of libraries:

  • link_fnl_static.h and link_fnl_shared.h now make use of Intel® MKL by default. Use these instead of link_fnl_static_hpc.h or link_fnl_shared_hpc.h which are no longer provided
  • If you do not want IMSL to make use of Intel® MKL, include link_fnl_static_imsl.h or link_fnl_shared_imsl.h

Common Problems

Problem: When compiling, you receive an error similar to:

error #5102: Cannot open include file 'link_fnl_static.h'
or
error #7002: Error in opening the compiled module file. Check INCLUDE paths.

Resolution:
Follow the steps in the sections above for configuring for use from the command line or from Microsoft Visual Studio.

Problem:
When linking, you receive errors similar to:

imsls_err.lib(e1pos.obj) : error LNK2001: unresolved external symbol ___kmpc_threadprivate_cached

Resolution:
Add the line:

!DEC$ OBJCOMMENT LIB:'libiomp5md.lib'

to one of your Fortran sources. An alternative is to enable OpenMP processing (/Qopenmp), but this may have unwanted side effects if you are not using OpenMP in your application.


Conclusion

If you need assistance using the product, please visit our User Forum or see this support page for further options.


 

For more complete information about compiler optimizations, see our Optimization Notice.

16 comments

Top
Alessandro D.'s picture

Here is my list under includes:

$(IFortInstallDir)compiler\include
$(IFortInstallDir)compiler\include\ia32
$(IFortInstallDir)mkl\include
$(VCInstallDir)atlmfc\include
$(VCInstallDir)include
$(WindowsSdkDir)include\um
$(WindowsSdkDir)include\shared
$(FrameworkSDKDir)include
$(FNL_DIR)\IA32\include\dll

and under lib:

$(IFortInstallDir)compiler\lib\ia32_win
$(IFortInstallDir)mkl\lib\ia32_win
$(VCInstallDir)atlmfc\lib
$(VCInstallDir)lib
$(WindowsSdkDir)lib\winv6.3\um\x86
$(FrameworkSDKDir)lib
$(FNL_DIR)\IA32\lib

As you can see I added at the end of the list

$(FNL_DIR)\IA32\lib

and

$(FNL_DIR)\IA32\include\dll

as it is explained in the above link that you had posted

However I still get the same error message

Best,

Alessandro

 

 

Alessandro D.'s picture

Dear Steve,

when trying to run my code I got the following message

Error    1     error #5102: Cannot open include file 'link_fnl_static.h'   

Of course I followed the steps described in the link "Installing and using the IMSL Libraries" but nothing changed.

Thanks for your help!

 

Alessandro

 

mecej4's picture

Eva wrote: "The correct lines to be added in the Tools\Options\...\Compilers are: " ia32   or intel64  " -  all with small, NOT capitalized letters."

I am surprised if that made any difference, since Windows is not sensitive to the capitalization (or lack thereof) of file and directory names.

Eva's picture

Hello,

I found a small error in the description above in the section of "Configuring for Use from Microsoft Visual Studio" , I decided to write it here, perhaps it will be useful for others as well. It took be some time to debug my program....

In my installaltion the created subdirectiries contain small letters. The correct lines to be added in teh Tools\Options\...\Compilers are: " ia32   or intel64  " -  all with small, NOT capitalized letters.

I hope it helps.   Eva

 

Nazmul I.'s picture

Hi, I am using IMSL to calculate elliptic functions and to solve a linear system. But I am not sure which link I will use: INCLUDE 'link_fnl_static.h' or INCLUDE 'link_fnl_shared.h'. Can anybody make me clear about this?

Mark P.'s picture

David,

I had the same issue downloading the IMSL. I'm not sure if your download instructions were the same as mine, but when I got to the download page there was a list of different .exe files for the different installation types of IVF you want. At the end of that list is the IMSL download. Filename "w_fcompex_imsl_2013.0.002.exe" I hope this helps you find the file to download.
As for the installation issue, I asked for help from Premier Support. They sent me a link to this article...today. The instructions here worked well for me.

David N.'s picture

I just downloaded Intel FORTRAN with IMSL. Support documentation says it was downloaded but I have to install IMSL separately. I cannot find the file that supposedly does this.

•w_fcompxe_imsl_2013.0.xxx.exe - for building applications that run on the IA-32 or Intel® 64 architectures

I cannot find the IMSL Fortran Library 6.0 Program Folder on my hard disk and I cannot find any documentation PDFs for the library. How does one install this?

I agree with Mark P. Why isn't the IMSL download automatic and why do I have to search for any information on the IMSL installation? There is simply no guidance for this installation.

Mark P.'s picture

Why hasn't this article been made into an installation guide that is made available with the IMSL download? I shouldn't have to come here to search for such basic installation instructions. The lack of support documentation for the IMSL download and installtion is striking compared to instructions for the IVF download and install.

Dogan A.'s picture

I just recently purchased an Intel Visual Fortran XE with IMSL for Windows. I am getting this error
1 error #7002: Error in opening the compiled module file. Check INCLUDE paths.
2 error #7002: Error in opening the compiled module file. Check INCLUDE paths.
It seems to me that it is not able to find the IMSL library. please help. I already followed through to include the following:
$(VNI_DIR)imsl\fnl600\ia32\lib
$(VNI_DIR)imsl\fnl600\ia32\include\dll
Dogan

Steve Lionel (Intel)'s picture

elenar, if you have the "Single User" license you may install the compiler with IMSL on your laptop as well. The license agreement you referenced is still current (IMSL Fortran Numeric Library 6.0 is what is provided for use with Intel Visual Fortran 11.1.)

Dave, I'd suggest that you ask your question in the user forum at http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/

Pages

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.