Thursday 9 a.m.–10:30 a.m.

Intel: Accelerating Python across the range of applications: the right tools for the job

David Liu, Peter Wang


Python's popularity has given way to its use in many areas--from web frameworks all the way to machine learning and scientific computing. However, getting the best performance from Python requires an intimate knowledge of the right tools and techniques that are available today. In this tutorial, participants will learn how to measure, tune and accelerate Python workflows across various domains. This tutorial will cover the following topics: -Performance speedups for scientific computing using Intel® Distribution for Python, multithreading with Intel® Threading Building Blocks library, Numba, and Intel® VTune Amplifier -Data Analytics and machine learning acceleration with pyDAAL -Web framework, scripting, and infrastructure acceleration using the PyPy JIT ## Audience This tutorial is geared towards general users of Python who are wanting better performance with their code and workflows, or require time-bound results from their Python application. A general understanding of Python is recommended; the understanding of the above frameworks and tools is not required and will be introduced during the tutorial. No equipment is required for this tutorial. Attendees who complete the tutorial should be able to understand how to take current code choose the correct frameworks and tools to get the most of their current code and workflows. The attendees will also get a general understanding of how to diagnose performance issues, and mitigate performance bottlenecks as they arise. ## Outline -The Intel Distribution for Python (30 min) -Intro and overview of tools/frameworks(5min) -Intel Distribution for Python and the speedups possible from TBB, Numba, pyDAAL (20 min) -An intro to performance measuring tools: Vtune Amplifier (5 min) -Machine Learning acceleration with PyDAAL (30 min) -An introduction to PyDAAL (5 min) -Data management-batch and out of core (5 min) -Machine learning and acceleration techniques (5 min) -Algorithm accelerations and examples (Regression, PCA, SVM) (15 min) -PyPy JIT (30 min) -Overview of PyPy and how it works (10 min) -Examples of PyPy and Django (10 min) -Openstack acceleration (10 min)