[ONLINE] High-Performance Data Analytics with Python @ENCCS

Europe/Stockholm
Online

Online

Description

About the course

Welcome to the online workshop on High Performance Data Analytics in Python on Jan. 21-23 (2025). Python is a modern, object-oriented, and industry-standard programming language for working with data on all levels of the data analytics pipeline. A rich ecosystem of libraries ranging from generic numerical libraries to special-purpose and/or domain-specific packages has been developing using Python for data analysis and scientific computing.

This three half-day online workshop is meant to give an overview of working with research data in Python using general libraries for storing, processing, analyzing and sharing data. The focus is on improving performance. After covering tools for performant processing (netcdf, numpy, pandas, scipy) on single workstations the focus shifts to parallel, distributed and GPU computing (snakemake, numba, dask, multiprocessing, mpi4py).

Who is this workshop for?

High-Performance Data Analytics in Python is for all researchers and engineers who work with large or small datasets and who want to learn powerful tools and best practices for writing more performant, parallelised, robust, and reproducible data analysis pipelines. This workshop is an interactive online event, featuring live coding, demos, and practical exercises. We aim to equip you with the tools and knowledge to write efficient, high-performance code using Python.

Prerequisites

  • Basic experience with Python
  • Basic experience in working in a Linux-like terminal
  • Some prior experience in working with large or small datasets

Key takeaways

After attending the workshop, you should:

  • Have a good overview of available tools and libraries for improving performance in Python
  • Know what libraries are available for efficiently storing, reading and writing large data
  • Be comfortable working with NumPy arrays and Pandas dataframes
  • Be able to explain why Python code is often slow
  • Understand the concept of vectorisation
  • Understand the importance of measuring performance and profiling code before optimizing
  • Be able to describe the difference between “embarrasing”, shared-memory and distributed-memory parallelism
  • Know the basics of parallel workflows, multiprocessing, multithreading and MPI
  • Understand pre-compilation and know basic usage of Numba and Cython
  • Have a mental model of how Dask achieves parallelism
  • Remember key hardware differences between CPUs and GPUs
  • Be able to create simple GPU kernels with Numba

Agenda

For updated agenda and more information please visit the workshop's page at https://enccs.se/events/hpda-python-jan-25/

Contact

For any questions contact us at training@enccs.se

Follow our Events Schedule

Follow us on LinkedIn and subscribe to our Newsletter to stay tuned to our events and other news.

Regulations

Due to EuroCC2 regulations, we CAN NOT ACCEPT generic or private email addresses. Please use your official university or company email address for registration.

This training is for users who live and work in the European Union or a country associated with Horizon 2020. You can read more about the countries associated with Horizon2020 HERE.

 

The agenda of this meeting is empty