ActiveState's Python taps Intel MKL to speed data science and machine learning

The MKL libraries for accelerating math operations debuted in Intel's own Python distribution, but now other Pythons are following suit

ActiveState's Python taps Intel MKL to speed data science and machine learning
Credit: Mike

Last year Intel became a Python distributor, offering its own edition of the language outfitted with Intel’s Math Kernel Library (MKL). MKL accelerates data-science-related tasks by using Intel-specific processor extensions to speed up certain operations, a fine fit for a language that has become a staple in machine learning and math-and-stats circles.

The Intel Distribution of Python, a repackaging of Continuum Analytics’s Anaconda distribution, incorporated MKL support to give Python data science and machine learning packages a boost. Now ActiveState, producers of an enterprise-grade Python, (as well as Ruby, Node.js, and Golang distributions) has brought MKL into its own Python distro.

[ Roundup: TensorFlow, Spark MLlib, Scikit-learn, MXNet, Microsoft Cognitive Toolkit, and Caffe machine learning and deep learning frameworks. | Get a digest of the day's top tech stories in the InfoWorld Daily newsletter. ]

The latest versions of ActivePython, for Python 2.7.13 and Python 3.5.3/3.6.0, now use MKL to accelerate NumPy, SciPy, Scikit-learn, Matplotlib, Theano, and other popular Python libraries for number-crunching work and machine intelligence research.

Easier ways to go faster

The default edition of Python comes without third-party libraries, and the larger and more complex ones—especially the data science and machine learning packages—can be tricky to install and maintain. ActivePython, like other third-party distributions, simplifies the process by bundling the most common libraries with the distribution or automating the installation of those libraries.

Most of the packages in ActiveState that benefit from MKL are staple elements in data science workflows: NumPy, for speeding up matrix-related math; Pandas, for working with data sets; and SciPy, which leverages both NumPy and Pandas for more complex work than can be addressed by those packages alone.

Another package accelerated by MKL for this release is Theano, a deep learning framework well-known in Python circles. Theano already obtains hefty speedups by way of having native GPU support, but MKL ought to provide a boost in situations where a GPU isn’t available.

More batteries included

Other key additions to this version of ActivePython will appeal to ML/AI developers in other ways. For example, Google’s TensorFlow now comes bundled with ActivePython, providing a quick way to get up and running with the popular machine learning framework. Taking the deep learning world by storm, TensorFlow has become a featured presence in Google’s own cloud, where it enjoys hardware-accelerated support, and it is now a key component of IBM’s own machine learning hardware platform PowerAI.

Another important new addition is Jupyter notebook support. Jupyter provides a live, interactive environment for running code, visualizing output, and sharing the results in a format that others can also run and modify. It’s become something of a de facto platform for collaborating on data science, or just sharing Python code snippets generally, so it’s become harder not to justify having it in a major distribution like ActivePython.

While ActivePython is offered in both community and enterprise editions, both editions include MKL support, TensorFlow, and Jupyter notebooks. The enterprise edition adds support, licensing, legal indemnification, and licenses for ActiveState’s line of IDEs.