Puget Systems print logo
Read this article at https://www.pugetsystems.com/guides/800
Dr Donald Kinghorn (Scientific Computing Advisor )

Install Intel Python using conda from Anaconda Python

Written on May 13, 2016 by Dr Donald Kinghorn

Intel has released the second beta of their Python distribution. If you haven’t tried it because you are using Continuum’s Anaconda Python then you no longer have an excuse. I was impressed with the first beta and put up a blog post about it with a quick test against my system default Python. The performance of that first beta was very good but comparing it against the system default is not all that interesting, comparing it against Anaconda Python is probably more interesting. Actually using it within Anaconda Python is perhaps the most interesting aspect of this new beta!

I recommend that you go to Intel’s landing page for Python, register for the beta, and check it out.

You have a couple of options for installing this beta release, using Intel’s install script or, their new Intel channel at anaconda.org https://anaconda.org/intel. This new beta of the Intel Python comes with an install script that loads everything in the usual Intel fashion, putting stuff in /opt/intel by default.

[ Note: Intel Python is packaged with rpm’s in this release but don’t be concerned if you are using a distro that uses deb packaging. The install script will do the right thing. ]

The biggest surprise I had when looking at the release docs was to see that you can install from within Anaconda using the conda package/environment utility. Nice!

**You can install and run Intel Python from within Anaconda Python wtih conda!**

Anaconda.org has an Intel channel

You can see what all Intel has up on their channel at https://anaconda.org/intel As of this writing there are 81 packages there, Including numpy, scipy, pydaal, scikit-learn and pandas. Some good stuff!

Setting up Intel Python using conda

I’m assuming you have Anaconda installed and you are at least somewhat familiar with using conda. [ I’m just beginning to explore it myself ].

First you will want to add the Intel channel to your config. This is done with,

conda  config --add channels intel

Now you can see the Intel Python is available as a new Python flavor,

conda search --full-name python

                           2.7.11            intel_py2.7_1  intel           [intel]
                        .  3.5.1             intel_py3.5_1  intel           [intel]

You will probably want to setup your Intel Python in a clean environment for your testing. You can do something like,

conda  create --name intelpy3test --channel intel --override-channels intelpython3_core

That will create a new environment with a nice set of packages to get you started. You can now source that environment name and start working with the Intel Python build.

source  activate intelpy3test

From within that environment you can add packages from the Intel channel by doing, for example,

conda install scikit-learn --channel intel --override-channels

If you leave out the “channel” part you will get the latest version from your configured channels. Things should still work OK in that case (???) but I haven’t tested much and, well, you know how sometimes versioning issues can be a headache.

You should read the recent Intel documents about the new beta and be sure to read the pdf about using conda.

Try this new Intel Python and let Intel (and me) know how it goes. I’m still not sure what the “big picture” is for this but I expect that it’s significant. I will be heading to ICF this year and will for sure spend time talking with Intel’s Python group to see what their vision is.

Happy computing! --dbk

Tags: Intel, Python, Conda
Avatar Michal

Interesting news, both from Intel Python & Continuum / conda side, Donald.

Do you plan to add any quantitatively relevant comparison ( be it a black-box test on solving some standard problem, or a test, tailored to emphasise some of the new Intel Python technology promises to cross-validate these on any academic or a real-world problem ) against a performance of a standard Python distribution?

That would indeed be a lovely cherry on top of the cake, wouldn't it?

Posted on 2016-06-09 03:09:06
Avatar Michal

Mea culpa, mea culpa -- have found your comaprative benchmarks in your Nov/Dec-2015 post. Glad to see those figures. Impressive. Did you also try, besides the numpy matrix-intensive processing, the common python instruction-mix contained in standard pystone.py? Thanks for your kind consideration, Donald.

Posted on 2016-06-10 11:04:51
Avatar Donald Kinghorn

Hey Michal, I think it would be very interesting to see more meaningful and substantial comparisons and I hope someone will do this! I simply don't have the time and I'm not actively doing work on anything that would be useful or interesting. I think the really important thing is that it should be much easier to try Intel Python now that it can be trivially added as another python version for use with Anaconda via "conda". My biggest hope with this blog post was that it would inspire some other people who are actively doing Python dev work to try it out. Best wishes -Don

Posted on 2016-06-29 17:38:39