Questions tagged [intel-mkl]

Intel MKL (Math Kernel Library) is a high performance math library specifically optimised for Intel processors. Its core functions include BLAS and LAPACK linear algebra routines, fast Fourier transforms and vector math functions amongst others.

Intel MKL (Math Kernel Library) is a high performance math library specifically optimised for Intel processors and explicitly parallelised with a version specifically available for High End Supercomputer clusters. Its core functions include BLAS and LAPACK linear algebra routines, fast Fourier transforms and vector math functions amongst others.

Intel MKL only supports Intel and compatible processors and is available for Windows, Linux and OS X as part of Intel® Parallel Studio and Intel® System Studio. There are free versions available for Students and Academic researchers at qualifying institutions.

The Intel® Math Kernel Library includes the following groups of routines:

  • Basic Linear Algebra Subprograms (BLAS):
    • vector operations
    • matrix-vector operations
    • matrix-matrix operations
  • Sparse BLAS Level 1, 2, and 3 (basic operations on sparse vectors and matrices)
  • LAPACK routines for solving systems of linear equations
  • LAPACK routines for solving least squares problems, eigenvalue and singular value problems, and Sylvester's equations
  • Auxiliary, utility, and test LAPACK routines
  • ScaLAPACK computational, driver and auxiliary routines (only in Intel MKL for Linux* and Windows* operating systems)
  • PBLAS routines for distributed vector, matrix-vector, and matrix-matrix operation
  • Direct and Iterative Sparse Solver routines, including a solver based on the PARDISO* sparse solver and the Intel MKL Parallel Direct Sparse Solver for Clusters
  • Direct Sparse Solver (DSS)
  • Extended Eigensolver routines for solving symmetric standard or generalized symmetric definite eigenvalue problems using the Feast algorithm
  • Vector Mathematical Library (VML) functions for computing core mathematical functions on vector arguments (with Fortran and C interfaces)
  • Vector Statistical Library (VSL) functions for generating vectors of pseudorandom numbers with different types of statistical distributions and for performing convolution and correlation computations
  • General Fast Fourier Transform (FFT) Functions, providing fast computation of Discrete Fourier Transform via the FFT algorithms and having Fortran and C interfaces
  • Cluster FFT functions (only in Intel MKL for Linux* and Windows* operating systems)
  • Tools for solving partial differential equations - trigonometric transform routines and Poisson solver
  • Optimization Solver routines for solving nonlinear least squares problems through the Trust-Region (TR) algorithms and computing Jacobi matrix by central differences
  • Basic Linear Algebra Communication Subprograms (BLACS) that are used to support a linear algebra oriented message passing interface
  • Data Fitting functions for spline-based approximation of functions, derivatives and integrals of functions, and search
798 questions
61
votes
14 answers

Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so

I am running a python script and I get this error: Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so. Both files are present in the anaconda2/lib directory. How can I fix this error? Thanks.
Chris Parry
  • 2,937
  • 7
  • 30
  • 71
39
votes
5 answers

Linking Intel's Math Kernel Library (MKL) to R on Windows

Using an alternative BLAS for R has several advantages, see e.g. https://cran.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf. Microsoft R Open https://mran.revolutionanalytics.com/documents/rro/installation/#sysreq is using Intel's MKL instead…
majom
  • 7,863
  • 7
  • 55
  • 88
33
votes
4 answers

Supplying NumPy site.cfg arguments to pip

I'm using NumPy built against Intel's Math Kernel Library. I use virtualenv, and typically use pip to install packages. However, in order for NumPy to find the MKL libraries, it's necessary to create a site.cfg file in the NumPy source directory…
joshayers
  • 3,269
  • 4
  • 23
  • 19
28
votes
1 answer

Performance degradation of matrix multiplication of single vs double precision arrays on multi-core machine

UPDATE Unfortunately, due to my oversight, I had an older version of MKL (11.1) linked against numpy. Newer version of MKL (11.3.1) gives same performance in C and when called from python. What was obscuring things, was even if linking the compiled…
Fermion Portal
  • 956
  • 1
  • 7
  • 14
26
votes
7 answers

Install Scipy with MKL through PIP

I am using PIP to install Scipy with MKL to accelerate the performance. My OS is Ubuntu 64 bit. Using the solution from this question, I create a file .numpy-site.cfg…
tndoan
  • 643
  • 2
  • 6
  • 12
25
votes
1 answer

Make sure numpy is using MKL library on mac pro

I am using Enthought's Canopy/EPD version of python which ships with numpy linked against MKL. I am currently running a set of simulations in parallel (using PP) on both my work computer (Windows 7, Quad Core i5 @ 3.33 Ghz, 4 GB ram) and my home…
user1554752
  • 707
  • 2
  • 10
  • 24
22
votes
2 answers

MATLAB twice as fast as Numpy

I am an engineering grad student currently making the transition from MATLAB to Python for the purposes of numerical simulation. I was under the impression that for basic array manipulation, Numpy would be as fast as MATLAB. However, it appears for…
nicholls
  • 289
  • 1
  • 3
  • 8
16
votes
4 answers

Using mkl_set_num_threads with numpy

I'm trying to set the number of threads for numpy calculations with mkl_set_num_threads like this import numpy import ctypes mkl_rt = ctypes.CDLL('libmkl_rt.so') mkl_rt.mkl_set_num_threads(4) but I keep getting an segmentation fault: Program…
Daniel
  • 42,087
  • 4
  • 55
  • 81
14
votes
1 answer

Why does numpy.sin return a different result if the argument size is greater than 8192?

I discovered that numpy.sin behaves differently when the argument size is <= 8192 and when it is > 8192. The difference is in both performance and values returned. Can someone explain this effect? For example, let's calculate sin(pi/4): x =…
aparpara
  • 2,171
  • 8
  • 23
14
votes
9 answers

Pyinstaller numpy "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll"

I'm new with python apps. I'm trying to build my python GUI app with pyinstaller. My app depends on the following packages: PyQt4, numpy, pyqtgraph, h5py. I'm working with WinPython-32bit-3.4.4.1. I build the app with this command: pyinstaller…
f_ciriolo
  • 151
  • 1
  • 1
  • 8
13
votes
2 answers

Is there any simple C++ example on how to use Intel MKL FFT?

I need to perform FFT and Inverse-FFT transformations. The input would be vector and matrices of double. Ideally, the output should be an array of std::complex but I can live with double _Complex. I haven't found any simple example, all Intel…
Baptiste Wicht
  • 7,472
  • 7
  • 45
  • 110
13
votes
1 answer

Difference between Numpy and Numpy-MKL?

I wanted to test some signal processing and statistics using SciPy. So I had to use scipy.signal and scipy.stats, but I always used to get an error: ImportError: DLL load failed: The specified module could not be found. I was using Numpy 1.7.1,…
Animesh Pandey
  • 5,900
  • 13
  • 64
  • 130
12
votes
1 answer

Why does copying a >= 16 GB Numpy array set all its elements to 0?

On my Anaconda Python distribution, copying a Numpy array that is exactly 16 GB or larger (regardless of dtype) sets all elements of the copy to 0: >>> np.arange(2 ** 31 - 1).copy() # works fine array([ 0, 1, 2, ...,…
1''
  • 26,823
  • 32
  • 143
  • 200
12
votes
3 answers

How to know if MKL is installed?

I am working in a new machine, and I can't find the path to the MKL libraries. Is there a way to know if and where they are installed ? I tried find -name, but I could find nothing. Maybe they are simply not installed. But how to be sure?
ziulfer
  • 1,339
  • 5
  • 18
  • 30
11
votes
1 answer

numpy OpenBLAS set maximum number of threads

I am using numpy and my model involves intensive matrix-matrix multiplication. To speed up, I use OpenBLAS multi-threaded library to parallelize the numpy.dot function. My setting is as follows, OS : CentOS 6.2 server #CPUs = 12, #MEM = 96GB python…
Jing
  • 895
  • 6
  • 14
  • 38
1
2 3
53 54