0

Is there any point of installing packages from unofficial binaries (https://www.lfd.uci.edu/~gohlke/pythonlibs/) if the official PyPI doesn't give me issues? I installed numpy+mkl from there because intel-numpy wasn't available for my Python version, but I don't know the difference for scipy and other packages. Do any of them come with optimizations not available on the official repositories?

3
  • 1
    Packages at PyPI are no more official than what you see at the Christoph Gohlke's site. Anyone can register at PyPI and upload almost anything.
    – phd
    Commented Nov 12, 2019 at 17:42
  • That's a good point. What about specific packages like scipy which have "official" releases, is there any difference between those and Chris's or is numpy the only one that he links to mkl DLLs?
    – Akababa
    Commented Nov 12, 2019 at 17:48
  • No idea, sorry.
    – phd
    Commented Nov 12, 2019 at 18:14

1 Answer 1

1

I emailed the maintainer of that page and got the following responses:

  1. Which of the other packages are linked with MKL? Is it everything that says "Install numpy+mkl before installing scipy." or is that just a generic numpy dependency declaration?

Numpy+mkl contains Intel MKL, Fortran, C, DAAL, TBB, and OpenBLAS runtime DLLs needed by other packages that are compiled with one of those. I don't have a list of which packages are using which of those. You can probably get most packages working without numpy-mkl by installing the runtime DLLs manually.

  1. In the case of scipy, intel also has intel-scipy compiled with MKL optimizations; is that similar to yours?

I think the Intel Python distribution is compiled with Intel compiler instead of MSVC and also replaces some function of certain packages (numpy, scipy, scikit-learn) with their own optimized functions. I don't know for sure.

  1. As a rule of thumb, if I want performance without having to install intel python distribution, which packages should I get from your site and which ones should I get from regular pip?

Probably numpy+mkl and scipy. MKL_fft and numexpr are also nice. However the official numpy and scipy binaries are using OpenBLAS, which is actually faster on AMD CPUs.

Not the answer you're looking for? Browse other questions tagged or ask your own question.