How to Link to the Intel MKL Sparse Solvers

This article applies to:

  • PARDISO* - Parallel Direct Sparse Solver Interface
  • Direct Sparse Solver (DSS) Interface Routines

 The following changes were made in Intel® Math Kernel Library (Intel® MKL) 10.1:

  • DSS and PARDISO functions were integrated into the Intel MKL core library (mkl_core*.lib, libmkl_core*.a, libmkl_core.dylib).
  • DSS and PARDISO functions can be linked dynamically.

To use DSS and PARDISO routines in your application, link to the Intel MKL computational libraries shown in the tables below.

 

Table 1: Sparse Solver Libraries for 32-bit Intel® Architecture

 

 

Windows*

Linux*

Mac OS* X

Dynamic Linking

mkl_intel_c_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib

libmkl_intel.so libmkl_intel_thread.so libmkl_core.so

libmkl_intel.dylib libmkl_intel_thread.dylib libmkl_core.dylib

Static Linking

mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib

libmkl_intel.a libmkl_intel_thread.a libmkl_core.a

libmkl_intel_lp64.a libmkl_intel_thread.a libmkl_core.a

 

Table 2: Sparse Solver Libraries for Intel® 64 systems

 

 

Windows*

Linux*

Mac OS* X

Dynamic Linking

mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib

libmkl_intel_lp64.so libmkl_intel_thread.so libmkl_core.so

libmkl_intel_lp64.dylib libmkl_intel_thread.dylib libmkl_core.dylib

Static Linking

mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib

libmkl_intel_lp64.a libmkl_intel_thread.a libmkl_core.a

libmkl_intel_lp64.a libmkl_intel_thread.a libmkl_core.a

 

     Since version 10.2 update 2 of Intel® MKL, all components of Direct Solver (Pardiso and DSS), Trust-Region (TR) Solver, Iterative Sparse Solver (ISS) and GNU Multiple Precision (GMP) were moved to standard MKL libraries.So now solver ( e.g: mkl_solver.lib and mkl_solver_sequential.lib for IA32 ) libraries are empty (for backward compatibility).

Please refer article "mkl_solver* libraries are deprecated libraries since version 10.2 Update 2"  located here: "http://software.intel.com/en-us/articles/mkl_solver_libraries_are_deprecated_libraries_since_version_10_2_Update_2/"

You can find there the list of deprecated libraries and how the updated linking lines will look like.

Notes:
    You will also need to call the appropriate threading libraries for your 32-bit and 64-bit compiler. For Intel 64 systems, note replace the *lp64 libraries with the *ilp64 libraries if you are using 64-bit indexing. See the Intel MKL User Guide for more information.
   Please also refer the new MKL link line advisor tool located here:
/en-us/
Probably this is the fastest way to find out which libraries needed to be linked with your application.

 

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