1. https://appdevelopermagazine.com/programming
  2. https://appdevelopermagazine.com/intel-offers-additional-performance-for-multithreaded-python-programs/
4/12/2016 5:04:31 PM
Intel Offers Additional Performance for MultiThreaded Python Programs
Python,Intel,ThreadPool
https://news-cdn.moonbeam.co/Intel-Performance-for-Multi-Threaded-Python-App-Developer-Magazine_if6lf7ip.jpg
App Developer Magazine
Intel Offers Additional Performance for MultiThreaded Python Programs

Programming

Intel Offers Additional Performance for MultiThreaded Python Programs


Tuesday, April 12, 2016

Stuart Parkerson Stuart Parkerson

In its beta release of Intel Distribution for Python, Intel is introducing what they call “something new and unusual for the Python world.” The new functionality is an experimental module which unlocks additional performance for multi-threaded Python programs by enabling threading composability between two or more thread-enabled libraries.

The Intel Distribution for Python platform promises to offer faster performance from Python packages powered by Intel Math Kernel Library (Intel MKL). The beta product adds new Python packages like scikit-learn, mpi4py, numba, conda, tbb (Python interfaces to Intel Threading Building Blocks) and pyDAAL (Python interfaces to Intel Data Analytics Acceleration Library). The platform also delivers performance improvements for NumPy/SciPy through linking with performance libraries like Intel MKL, Intel Message Passing Interface (Intel MPI), Intel TBB and Intel DAAL.

With the new ability of threading composability, developers can accelerate programs by avoiding inefficient threads allocation (oversubscription) when there are more software threads than available hardware resources.

Intel says the biggest improvement is achieved when a task pool like the ThreadPool from standard library or libraries like Dask or Joblib (used in multi-threading mode) execute tasks calling compute-intensive functions of Numpy/Scipy/PyDAAL which in turn are parallelized using Intel MKL or/and Intel Threading Building Blocks (Intel TBB).

The module implements Pool class with the standard interface using Intel TBB which can be used to replace Python’s ThreadPool. With the monkey-patching technique implemented in class Monkey, no source code change is needed in order to unlock additional speedups.


Read more: https://software.intel.com/en-us/blogs/2016/04/04/...

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.

MEMBERS GET ACCESS TO

  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here