This course is aimed at programmers with little or no Python knowledge seeking to learn how to use Python for scientific computing. We will introduce Python’s fundamental scientific libraries numpy, scipy and matplotlib. We will also introduce how to interface Python with Fortran and C codes, along with parallel programming methods including MPI via mpi4py and the Dask framework.
Prerequisites
You should also have some basic knowledge of the Python language. For an introduction to Python, please see Code Academy’s Python tutorial: https://www.codecademy.com/learn/learn-python-3
You should also be comfortable with using the bash shell. For an introduction to the shell, please see, for example Software Carpentry’s lessons on Unix Shell: https://swcarpentry.github.io/shell-novice/
We strongly recommend you download, before the course, Anaconda python Version 3.9 from https://www.anaconda.com/download/. This has all the packages required (and more).
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 are also required to abide by the ARCHER2 Code of Conduct.
Timetable:
10:00 - 17:00
Day 1
- 10:00 - Registration and check installations
- 10:15 - L01: Introduction
- 11:15 - Break
- 11:30 - L02: NumPy
- 13:00 - Lunch
- 14:00 - L03: Matplotlib
- 15:30 - Break
- 16:00 - Exercises
- 17:00 - End
Day 2
- 10:00 - L04: SciPy
- 11:00 - Break
- 11:30 - L05: Fortran/C Interfaces
- 13:00 - Lunch
- 14:00 - L06: Parallel processing and mpi4py
- 15:30 - Break
- 15:45 - L07: Parallel processing and Dask
- 17.00 - End
Course materials
Videos
Day 1 Session 1
Day 1 Session 2
Day 2 Session 1
Day 2 Session 2
Feedback
This course is part-funded by the PRACE project and is free to all.