Rogue Wave* IMSL is no longer available directly from Intel. It can be obtained directly from Roguewave or Roguewave resellers.
This article explains how to install, configure and use the IMSL* Fortran Numerical Library, as provided with Intel® Parallel Studio XE 2018 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.
IMSL Fortran MP Library is a Shareware software in the category Miscellaneous developed by Lahey Computer Systems, Inc. The latest version of IMSL Fortran MP Library is 4.0, released on. It was initially added to our database on. IMSL Fortran MP Library runs on the following operating systems: Windows. This means that you can add IMSL to your existing suite that includes Fortran without having to buy an additional license for Visual Fortran. Customers with current support licenses for Intel Visual Fortran Composer XE with IMSL can download and install IMSL 7.0.1 at no additional charge.
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:
You must install Intel Parallel Studio XE before installing the IMSL libraries.
Intel Visual Fortran automatically establishes the environment for using IMSL when a command prompt session is started through the provided shortcuts under: Start > All Programs > Intel Parallel Studio XE 2018
It is necessary to add the paths for the IMSL INCLUDE and library files to Visual Studio.
$(FNL_DIR)IA32lib
(for IA-32 architecture target, or)$(FNL_DIR)Intel64lib
(for Intel 64 architecture target)$(FNL_DIR)IA32includedll
(for IA-32 architecture target, or)$(FNL_DIR)Intel64includedll
( for Intel 64 architecture target)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:
Problem: When compiling, you receive an error similar to:
error #5102: Cannot open include file 'link_fnl_static.h'
orerror #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.
If you need assistance using Intel Parallel Studio XE for Fortran product, please visit our User Forum or see this support page for further options.
Rogue Wave IMSL is no longer available directly from Intel. It can be obtained directly from Rogue Wave or a Rogue Wave reseller. Get more details on IMSL directly from Rogue Wave.
Note: as of summer 2018, Rogue Wave* IMSL is no longer available directly from Intel. It can be obtained directly from Rogue Wave or Rogue Wave resellers. Overview The IMSL* Fortran Numerical Libraries from Rogue Wave Software* are a comprehensive set of mathematical and statistical functions that programmers can embed into the software applications. Intel® Math Kernel Library (Intel® MKL) offers highly optimized, extensively threaded math routines for scientific, engineering, and financial applications that require maximum performance. Please refer to Intel MKL web page and Intel's IMSL* Fortran Library web page for further information. Intel MKL is included in Intel® Visual Fortran Composer XE 2011 for Windows* with IMSL*. Some IMSL routines can take advantage of Intel MKL to improve run-time performance. You choose, when you build your application, whether you wish to use the version of IMSL that calls MKL or the version that does not call MKL. For example, once linked, a call to an IMSL Library linear algebra routine will call the Intel MKL linear algebra function, thus benefiting from Intel MKL optimizations for Intel-based hardware. Obtaining the software Intel Visual Fortran Composer XE 2011 is available in two editions, with IMSL and without IMSL. Both editions include the latest version of Intel MKL. Intel does not offer an 'upgrade' to add IMSL to an already-purchased product. For product and 'where to buy' information, see the Intel® Composer XE product page. You can choose to buy the product on DVD (two DVDs are provided), or as an electronic download. Be sure to register your purchase at the Intel® Software Development Products Registration Center to receive notifications of product updates. Licensing As of the version included with Intel Visual Fortran Composer XE 2011 for Windows with IMSL 6.0, IMSL has a new End User Licensing Agreement (EULA) which has changed from previous IMSL EULAs. Separate deployment licenses are now required for any application that uses IMSL. For more information, read the IMSL FNL 6.0 End User Licensing Agreement and IMSL Licensing Frequently Asked Questions. Installation Please see Installing and Using the IMSL* Libraries for instructions on installing IMSL and configuring Visual Studio for IMSL use. Configuration and Building There are two ways to specify the set of libraries to link against. One is to use a predefined environment variable on the command line that links the application. The other is to add an INCLUDE line in one of your Fortran sources. The INCLUDE line method is more convenient and works in both the command line and Visual Studio environments, but you are free to choose whichever method works best for you. To use the INCLUDE line method, add one of the following two lines to any of your Fortran source files. The main program is usually the most convenient place. The line can be added anywhere in a Fortran program unit, but immediately after the PROGRAM, SUBROUTINE or FUNCTION statement is recommended. INCLUDE 'link_fnl_hpc.h' or INCLUDE 'link_fnl_shared_hpc.h' The line with 'link_fnl_hpc.h' causes the static library form of IMSL and MKL to be linked in. The line with 'link_fnl_shared_hpc.h' causes the dynamic link library (DLL) form of IMSL and MKL to be linked in. The environment variable method differs depending on whether you are building from Visual Studio or from the command line. Both are described below. Building from Microsoft Visual Studio First, you must configure the IMSL include and library folders in Visual Studio. Instructions for doing this are in Installing and Using the IMSL* Libraries. Once you have configured Visual Studio for IMSL and added the appro[priate INCLUDE line to specify the libraries, you can build normally.Building from a Fortran Command Prompt Window %LINK_FNL_HPC% or %LINK_FNL_SHARED_HPC% %LINK_FNL_HPC% will link to the static form of the libraries, %LINK_FNL_SHARED_HPC% will link to the DLL form of the libraries. For example: ifort myprog.f90 %LINK_FNL_SHARED_HPC% Running the Application A number of functions in Intel MKL are threaded to take advantage of multi-core processors. In order to enabling internal threading within Intel MKL functions, your can set the environment variable OMP_NUM_THREADS to the number of CPUs you want to use at the runtime. For further information on MKL threading, please refer to Intel MKL website: Using Intel® MKL with Threaded Applications Appendix A - Known Issues and Limitations Please refer to “Known Problems, Limitations, and Differences” part in IMSL* Readme file and “Known Limitations” part in Intel MKL release notes. Appendix C - References Operating System:
|
Optimization Notice |
---|
The Intel® Math Kernel Library (Intel® MKL) contains functions that are more highly optimized for Intel microprocessors than for other microprocessors. While the functions in Intel® MKL offer optimizations for both Intel and Intel-compatible microprocessors, depending on your code and other factors, you will likely get extra performance on Intel microprocessors. While the paragraph above describes the basic optimization approach for Intel® MKL as a whole, the library may or may not be optimized to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® SSSE3) instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Intel recommends that you evaluate other library products to determine which best meets your requirements. |