Difference between Numpy and Numpy-MKL?

Animesh Pandey picture Animesh Pandey · Jul 7, 2013 · Viewed 17.3k times · Source

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, scipy 0.12 and Python 2.7.3. I checked on the internet and asked about it on other forums too! This problem got solved when switched my Numpy distribution with the Numpy-MKL distribution.

I want to know the difference between the two libraries ?

Answer

DaveP picture DaveP · Jul 8, 2013

Numpy and scipy rely on lower level fortran libraries such as BLAS and lapack to perform many of their functions. These libraries come in many different versions, including the highly portable ones available from netlib, and other which are optimised for particular systems. In particular, Intel has one called "MKL" - Intel Math Kernel Library. So numpy-mkl just means a version of numpy compiled against the MKL fortran library.

Probably whichever version of numpy you previously had installed was somehow broken, and couldn't find the libraries it needed.