november 26 - 27, 2024
9:30 - 17:00 CET
Instructors: Johan Hidding, Francesco Nattino, Benjamin Czaja, Leon Oostrum
Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings.
The eScience Center offers a range of workshops and training courses, aimed at PhD candidates and other researchers or research software engineers. We organize workshops covering digital skills needed to put reproducible research into practice. These include online collaboration, reproducible code and good programming practices. We also offer more advanced workshops such as GPU Programming, Parallel Programming, Image Processing and Deep Learning.
Python is one of most widely used languages to do scientific data analysis, visualization, and even modelling and simulation. The popularity of Python is mainly due to the two pillars of a friendly syntax together with the availability of many high-quality libraries. The flexibility that Python offers comes with a few downsides though: code typically doesn’t perform as fast as lower-level implementations in C/C++ or Fortran, and it is not trivial to parallelize Python code to work efficiently on many-core architectures. This workshop addresses both these issues, with an emphasis on being able to run Python code efficiently (in parallel) on multiple cores.
We’ll start with learning to recognize problems that are suitable for parallel processing, looking at dependency diagrams and kitchen recipes. From then on, the workshop is highly interactive, diving straight into the first parallel programs. This workshop teaches the principles of parallel programming in Python using Dask, Numba and asyncio. More importantly, we try to give insight in how these different methods perform and when they should be used.
The participant should be:
Recommended:
Where: Science Park 402, 1098 XH Amsterdam. Get directions with OpenStreetMap or Google Maps.
When: november 26 - 27, 2024, 9:30 - 17:00 CET.
Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).
Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:
Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.
Workshop files: You will find all slides, notebooks, archived collaborative documents, and other relevant files in the files folder of the workshop website repository after the workshop.
Contact: Please email or training@esciencecenter.nl for more information.
Participants are expected to follow these guidelines:
09:30 | Welcome and icebreaker |
09:45 | Introduction |
10:30 | Break |
10:45 | Measuring performance |
12:00 | Coffee break |
12:15 | Profiling |
12:45 | Wrap-up |
13:00 | Lunch |
14:00 | Computing Pi |
15:00 | Coffee break |
15:15 | Using Dask Array |
16:00 | Tea break |
16:15 | Threads and processes |
16:45 | Wrap-up |
17:00 | END |
09:30 | Welcome, icebreaker and recap |
09:45 | Threads and processes |
10:30 | Coffee break |
10:45 | Using Numba |
12:00 | Tea break |
12:15 | Delayed evaluation |
13:00 | Lunch |
14:45 | Coffee break |
15:00 | Computing fractals in parallel |
15:45 | Tea break |
16:30 | Presentations of group work |
16:45 | Post-workshop Survey |
17:00 | Drinks |
To participate in this workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.
We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.
In this workshop we will work on an interactive Jupyter Notebook server provided by SURF. You’ll need to bring a laptop with a modern webbrowser installed. You will be notified in advance of your account details. Be warned: this notification mail may have some resemblance with some forms of unsolicited email.