Course: Python Refresher

As a general-purpose programming language with a growing user-base amongst data scientists, Python is increasingly used for data analysis and machine learning applications at the Leibniz Supercomputing Centre (LRZ). In this course we will introduce the different high performance computing ressources provided by LRZ and by demonstrating several techniques and best practice examples, we will empower participants to use Python effectively on these systems.

Contents (tentative)

9:15 -10:30 Python  syntax

10:30- 10:45 Break Q&A

10:45-12:00 Python data structures and libraries, conda, virtualenv, pip, pylab

12:00-13:00 Lunch Break

13:00-14:15 Computing libraries: Numpy / Pandas / Dask.array /theano / tensorflow

Plotting and Graphs: scipy , pylab, matplotlib

14:15-14:30 Break Q&A

14:30-15:45 Parallel programming: Dask.distributed / MPI4py /ipython jupyter, batch jobs

15:45 - 16:00 Break Q&A

16:00-17:15 Native Programming: Cython/f2py/pyCUDA, numba, numexpr


Interactive Programming: Ipython, jupyter
Package management: conda
Numerical Arrays: Numpy, numexpr, numba
Compiling to C: Cython
parallel programming: MPI4py
Using Fortran: f2py
Using Cuda: pyCUDA
ML: tensorflow, theano, SymPy
Plots and Graphics: pylab and scipy
Profiling and Debugging
Big Data: pandas, dask