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

[mkl]
library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/
include_dirs=/opt/intel/mkl/include/
mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt
lapack_libs=

This file helps me to install Numpy with MKL successfully. However, using the same above file, installing Scipy prompts the error

ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory

I also use

export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64

but the problem is still the same.

Anyone know how to fix this problem? I don’t want to install Scipy manually so anyone give me some hints to fix it.

Intel has been publishing wheels of packages like Numpy, Scipy and Scikit-learn to PyPI. These wheels have been built while linking against Intel MKL, and include various optimizations.

If you want Scipy built with Intel MKL:

#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy

More information available here

2 years have passed since this question was asked.

There are now numpy/scipy wheels for linux that use a openblas compiled for avx2, so you can get much better performance without building packages. You may need to upgrade pip to get it to install the wheel:

pip install --upgrade pip
pip install numpy scipy

If you want MKL, then you can install Anaconda or Intel Distribution for Python. They use conda instead of pip to manage packages, but they are free and distribute packages that contain all the dependences, including MKL.

I have Win10 64Bit with Python 3.6.2 i have installed scipy through http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

I followed following steps :

  • Step 1: Uninstall if you have any previous version of numpy,
    pip uninstall numpy
  • Step 2 : Download numpy?1.13.1+mkl?cp36?cp36m?win_amd64.whl with
    MKL(Math Kernel Library) from below link,
    http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • Step 3: copy downloaded file into another location and launch command
    prompt from that location.
  • Step 4: run this command,
    pip install -U numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
  • Step 5: Now Download scipy library from,
    http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  • Step 6: Copy downloaded file into same location in which numpy is
    copied.
  • Step 7: In CMD prompt run this cmd,
    pip install scipy-0.19.1-cp36-cp36m-win_amd64.whl

Done!

If you are having trouble installing or running with specific version then first uninstall and then install

Step 1:

pip uninstall -v numpy

Step 2: download the wheel file and install

pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl

In this example wheel file name is “numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl

I have been facing this problem the past few weeks on:
Windows 10 64 bit Python 3.5.2

My workaround:

First: pip install wheel

Next: Download Numpy and Scipy form Gholke’s repo
Numpy and SciPy

Then:

pip install numpy_package.whl

pip install scipy_package.whl

Since the actual question itself was not answered, let me give it a shot…

I think the problem here basically is that the BLAS/LAPACK libraries being used are spread out across multiple location, and numpy doesn’t handle this well.

We have fixed this in EasyBuild, where we have been building numpy/scipy on top of Intel MKL for a while now, with this patch: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch

For me, MKL came with Scipy library by conda install scipy

@rscohn2 solution gave me a hint for using packages.

For the reference, my environment is included Ubuntu, Anaconda, Python 3.6, Scipy 1.1 and MKL 2018.0.