Intel® Math Kernel Library

Announcing new tool -- Intel® Math Kernel Library LAPACK Function Finding Advisor

The Intel® Math Kernel Library (Intel® MKL) LAPACK domain contains a huge variety of routines. Now, a new tool is provided with a faster method of finding appropriate LAPACK functions in Intel® Math Kernel Library Developer Reference document. This tool would be very useful for Intel® MKL newbies and for users not familiar with LAPACK function naming conventions. By using this tool, users can specify functionality as parameters in drop down lists, descriptions of all functions satisfying the requirements will be shown through this tool. 

Intel® MKL 11.3.3 patch

There are two listed below limitations with Intel® Math Kernel Library (Intel® MKL) 11.3 Update 3 which were discovered recently. The official fix of these issues will be available the nearest update Intel MKL 11.3.4.

If you require an immediate Intel MKL update to address these issues, please submit a ticket at Intel Premier Support ( for the Intel MKL product.

Known Limitations: 

  • FreeBSD*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Microsoft Windows* 10
  • Microsoft Windows* 8.x
  • Unix*
  • Fortran
  • Advanced
  • Beginner
  • Intermediate
  • Intel® Math Kernel Library
  • Intel® Advanced Vector Extensions (Intel® AVX)
  • sgemm
  • Intel® AVX2
  • dss_factor_real export factorisation


    I am working on a method where I need the factorisation of the coefficient matrix.

    Right now I call the routine dss_factor_real( handle, opt, rValues ) in C which creates a factorisation.

    Can anybody tell me:

    1. How is the factorisation stored within the Intel solver datastructure?
    2. Is it possible to export the factorisation for usage elsewhere in the code?

    Thanks in advance.


    Sparse Matrix Multiplication Failed


    I am trying to develop a function that multiplies matrix A and B which are in general format but sparse in nature. These matrices contain complex numbers. My issue is, when I do not use the function and I write everything in the main(), the multiplication works perfectly for any size of array. But when I am using my own function, result is corrupt and most of the time I get random error messages.

    Here is what this function does:

    1. Convert A and B to CSR format (mkl_zdnscsr).

    Memory usage during solve in function of number of cores

    During the solve step of Pardiso of the system A*X=B where B is multiple right-hand-side we see that the memory consumed by Pardiso is highly dependent on the number of cores.  So we observe mem(total) = mem(A) + mem(X) + #cores * mem(B).  The documentation mentions this indirectly, but we like to have tighter control over the memory of Pardiso.  

    One approach we can use is to split the right hand sides B wrt the number of cores so that on various systems the same amount of memory is used int the end.

    Subscribe to Intel® Math Kernel Library