Stanford HPC Summer Speaker Series: Intel® Distribution for Python: A Scalability Story in Production Environments – June 28@noon

Date for Tutorial: Tuesday, 28 June, 2016
Time: Noon
Duration: 1.5 hours
Location: d.school (Peterson Engineering Laboratory, 550 Panama Mall, Room 200)
 
Title – Intel® Distribution for Python: A Scalability Story in Production Environments
 
Abstract:
In this talk we will describe the tools, techniques and optimizations that Intel brings to the Python developers community. We are developing high performance libraries and profilers as well as extending support for multi-core and SIMD parallelism across Python toolchain so that developers can achieve near native performance in Python, avoiding the need to rewrite in C/C++ 

Python use continues to grow in many domains that require interactive prototyping. Quants develop trading algorithms, data scientists build analytics models, and researchers prototype numerical simulations. All too often, scaling the prototype code to production means a developer recoding the algorithm in a language such as C++ or Java. Rewriting takes time, reduces flexibility, and can lead to errors.

In this talk we will describe the tools, techniques and optimizations that Intel brings to the Python developers community to address this major challenge. We are developing high performance libraries and profilers as well as extending support for multi-core and SIMD parallelism across Python toolchain so that developers can achieve near native performance in Python, avoiding the need to rewrite.

Our case studies will show speedups up to 100x and more from highly optimized libraries such as NumPy/SciPy, Intel® DAAL and Scikit-learn* and how those scale across multiple cores and multiple nodes. We will also see how Intel® VTune™ Amplifier allows low intrusive profiling of Python and native codes to identify performance hotspots. We will also demonstrate how tools like Cython* and Numba* allow obtaining near native code performance in numerically intensive applications. 

Goals of the Tutorial:
The participants will learn how to develop and optimize technical computing programs in Python utilizing Intel® Distribution for Python*, Intel’s performance libraries: Intel® Math Kernel Library and Intel® Data Analytics Acceleration Library, and Intel’s low overhead line level profiling tool
Intel® VTune Amplifier supporting mixed mode C/C++ & Python. Hands on labs will be used to demonstrate key concepts for optimizing performance of Python applications.
 
Prerequisites:
Beginner level knowledge of Python will be helpful
Bring your own laptop
Prior to the session, download the Intel® Distribution for Python* Tech Preview (soon to be beta), to follow along with the live examples.
 
Speaker Bio:
Sergey Maidanov leads the team of software engineers working on the optimized Intel® Distribution for Python*. He has over 15 years of experience in numerical analysis with a range of contributions to Intel software products such as Intel MKL, Intel IPP, Intel compilers, and others. Among his recently completed projects was the Intel® Data Analytics Acceleration Library. Sergey received a master’s degree in Mathematics from the State University of Nizhny Novgorod with specializations in number theory, random number generation, and its application in financial math. He was a staff member of the International Center of Studies in Financial Institutions at the State University of Nizhny Novgorod.