Intel® Fortran Compiler 17.0 Developer Guide and Reference

IMSL Include File and Library Naming Conventions and Redistribution (Windows*)

The IMSL* libraries provide sets of "include" files. By default, the standard set is installed at the following locations:

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.