16 July 2021
Parallel Computing and Big Dataonline course
In this course, we provide the theory and applications of state-of-the-art techniques for parallel computing.
Nowadays, even mobile phones and tablets have multiple core central processing units (CPUs), as do have the simplest laptop and desktop PCs. Using their combined compute power, however, is not trivial. This is as true for the small systems, as well as (worlds) largest compute systems. In data science, making use efficiently of all compute power is a required skill that needs to be learned. In this course you will be taught how to have all cores take part in a single task, or to have each core working on its own share of the total task.
Modern day researchers quite often have to rely on larger systems than their own. In the Netherlands many use the national supercomputer clusters, Lisa and Cartesius, at SURFsara. Like most other large shared computer systems in research, these systems have UNIX, or Linux, running as operating system. On top of that, many of them make use of a batch system to give multiple users a fair share of the total resources. The Lisa system omf SURFsara will be used during the first part of the course.
After working with Lisa, the different types of parallel programming will be taught with Python as programming language. Although C and Fortran are very common in high-performance computing (HPC), it is also possible to use parallelism in Python, the language of choice for many researchers in the data science field.
The contents of this course comprise a BASH (Unix shell) course, a Python recap, an introduction to Jupyter Notebooks and a programming course to learn how to work with different parallel modules and packages in Python. For the latter, the “Python Parallel Programming Cookbook” is used. Although referred to as a cookbook, it has a decent amount of theory to build a foundation for deeper understanding of parallel paradigms.
Python Parallel Programming Cookbook (not included in course fee).
Jeroen Engelberts, Research Software Engineer at the Rotterdam School of Management (RSM) at Erasmus University Rotterdam.
Required knowledge: Programming Basics
Recommended: Mathematics, Statistics
Students are expected to have a background in calculus and in linear algebra. Familiarity with open source languages such as R or Python is a must).
Participants who joined at least 80% of all sessions and hand in the assignment will receive a certificate of participation stating that the summer school is equivalent to a work load of 3 ECTS. Note that it is the student’s own responsibility to get these credits registered at their university.
EUR 500: PhD and Master Students: € 500
EUR 750: Academics (incl postdocs): € 750
Professionals: € 1.500