This lesson is being piloted (Beta version)

ACENET Summer School - Dask

Prerequisites

Should have experience programming in at least one language, ideally Python. If you do not have any experience programming in Python it is advisable to have a look at the Software Carpentry lesson on Python which introduces the basics of Python.

Schedule

Setup Setup required for the lesson
Day 1 09:30 1. Introduction What is Dask?
How does it work?
09:45 2. Python What is a virtual environment?
How can you time Python scripts?
What is a simple way to run a Python script on a compute node?
10:10 3. Dask Delayed How do you install Dask Delayed?
How can Dask Delayed be used to parallelize python code?
How can I see what Dask Delayed is doing?
10:50 4. Break Break
11:05 5. Real Computations What happens when I use Dask for “real” computations?
How can I see CPU efficiency of a SLURM Job?
11:30 6. Lunch Break Break
13:00 7. Distributed Computations How can I avoid the GIL problem?
How can I run multiple Python interpreters at once on one problem?
13:40 8. Cython How slow is Python?
Can I make my Python code faster?
How can I turn my Python code into compiled C or C++ code?
14:20 9. NumPy Why are NumPy arrays faster than lists?
How do you create NumPy arrays?
What are some things I can do with NumPy arrays?
14:35 10. Break Break
14:50 11. Dask Array How can I process NumPy arrays in parallel?
Can I distribute NumPy arrays to avoid needing all the memory on one machine?
15:15 12. Wrapping Up What did we learn?
What next?
15:20 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.