Intel® Fortran Compiler 17.0 Developer Guide and Reference
The IMSL* libraries provide sets of "include" files. By default, the standard set is installed at the following locations:
C:\Program Files\VNI\imsl\fnl600\IA32\include\dll (for systems using IA-32 architecture)
C:\Program Files\VNI\imsl\fnl600\Intel64\include\dll (for systems using Intel® 64 architecture)
The standard set is suitable for use when linking against either the static or dynamic libraries; however, some applications linking to the static libraries may see warnings from the linker due to the use of the DLLIMPORT directive for IMSL global variables. The warnings can be ignored, but if you want to avoid them, use the alternate set of "include" files in the include\ static folder.
The following libraries are supplied:
File Name |
Library Description |
---|---|
IMSL and IMSL_DLL |
IMSL Static and DLL Library; contains application-callable routines |
IMSLMKL_DLL |
IMSL DLL Library using Intel® Math Kernel Library; contains application-callable routines |
IMSLS_ERR |
IMSL Error Handler Library; scalar version |
IMSLP_ERR |
IMSL Error Handler Library, MPI version |
IMSL_HPC_L |
LAPACK enabled routines |
IMSL_HPC_S |
ScalaPACK enabled routines |
IMSLSCALAR |
Support routines |
IMSLSUPERLU |
Support routines |
IMSLMPISTUB |
Stub libraries |
IMSLSPARSESTUB |
Stub libraries |
IMSLBLAS |
Basic Linear Algebra Subroutine support library |
For applications running on systems using IA-32 architecture, use the following combinations of libraries and compiler options:
Static linking |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLS_ERR.LIB IMSLMPISTUB.LIB |
Dynamic linking |
IMSL_DLL.LIB /libs:dll |
Static linking, using Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_L.LIB IMSLS_ERR.LIB IMSLMPISTUB.LIB MKL_INTEL_C.LIB MKL_INTEL_THREAD.LIB MKL_CORE.LIB LIBIOMP5MD.LIB |
Dynamic linking, using Intel® Math Kernel Library for multiple processors |
IMSLMKL_DLL.LIB /LIBS_DLL |
Static linking, using MPI version of the error handler and MPI for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLP_ERR.LIB IMPI.LIB LIBIOMP5MD.LIB |
Static linking, using MPI version of the error handler and the Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_S.LIB IMSLP_ERR.LIB MKL_SCALAPACK_CORE.LIB MKL_BLACS_INTELMPI.LIB MKL_INTEL_C.LIB MKL_BLACS_INTELMPI.LIB MKL_INTEL_THREAD.LIB MKL_CORE.LIB IMPI.LIB LIBIOMP5MD.LIB |
Static linking, using scalar version of the error handler and MPI for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLS_ERR.LIB LIBIOMP5MD.LIB IMPI.LIB |
Static linking using MPI, the scalar version of the error handler and the Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_S.LIB IMSLS_ERR.LIB MKL_SCALAPACK_CORE.LIB MKL_BLACS_INTELMPI.LIB MKL_INTEL_C.LIB MKL_BLACS_INTELMPI.LIB MKL_INTEL_THREAD.LIB MKL_CORE.LIB IMPI.LIB LIBIOMP5MD.LIB |
For applications running on systems using Intel® 64 architecture, use the following combinations of libraries:
Static linking |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLS_ERR.LIB IMSLMPISTUB.LIB |
Dynamic linking |
IMSL_DLL.LIB /LIBS:DLL |
Static linking, using Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_L.LIB IMSLS_ERR.LIB IMSLMPISTUB.LIB MKL_INTEL_LP64.LIB MKL_INTEL_THREAD.LIB MKL_CORE.LIB LIBIOMP5MD.LIB |
Dynamic linking, using Intel® Math Kernel Library for multiple processors |
IMSLMKL_DLL.LIB /LIBS:DLL |
Static linking, using MPI version of the error handler and MPI for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLP_ERR.LIB IMPI.LIB LIBIOMP5MD.LIB |
Static linking, using MPI version of the error handler and Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_S.LIB IMSLP_ERR.LIB MKL_SCALAPACK_LP64.LIB MKL_BLACS_MPICH2_LP64.LIB MKL_INTEL_LP64.lib MKL_INTEL_THREAD.LIB MKL_CORE.LIB LIBIOMP5MD.LIB IMPI.LIB |
Static linking, using scalar version of the error handler and MPI for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLSCALAR.LIB IMSLBLAS.LIB IMSLS_ERR.LIB LIBIOMP5MD.LIB IMPI.LIB |
Static linking, using scalar version of the error handler and Intel® Math Kernel Library for multiple processors |
IMSL.LIB IMSLSUPERLU.LIB IMSLHPC_S.LIB IMSLS_ERR.LIB MKL_SCALAPACK_LP64.LIB MKL_BLACS_MPICH2_LP64.LIB MKL_INTEL_LP64.lib MKL_INTEL_THREAD.LIB MKL_CORE.LIB LIBIOMP5MD.LIB IMPI.LIB |
The tables above document the libraries which must be redistributed with your IMSL application for it to function properly.
If your program is linked to any of the IMSL or Intel MKL DLLs, the folder containing the DLLs must be included in the definition of the PATH environment variable, or the DLLs must be in the same folder as the application .EXE file. See the table above for the names of IMSL and Intel MKL DLLs to accompany your application.
If your application is linked against the static IMSL libraries, no additional IMSL files need to be distributed along with your application. However, you may still need to distribute Intel® Fortran DLLs that are not provided in static library form, such as libiomp5md.dll.
Please refer to the IMSL End-User License Agreement for your rights and limitations regarding distribution of applications that use the IMSL library.