- This event has passed.
PPCES 2023
Monday, 13. March 2023 ► 9:00 - Friday, 17. March 2023 ► 17:00
Parallel Programming in Computational Engineering and Science (PPCES) 2023
About PPCES
This one week event will continue the tradition of previous annual week-long events that take place in Aachen every spring since 2001. We will cover the basics of parallel programming using OpenMP and MPI in Fortran and C/C++ and a first step towards performance tuning as well as current topics in AI/machine learning. Hands-on exercises for each topic will be included.
This is an in-person event and will be held on the RWTH IT-Center premises (see below).
The contents of the courses are generally applicable but will be specialized towards CLAIX the compute cluster which is the current system installed at the RWTH’s IT Center. It might be helpful to read through the information which was provided during the HPC introduction on March 7 this year. This is especially true if you want to actively use CLAIX after this event.
OpenMP is a widely used approach for programming shared memory architectures, supported by most compilers nowadays. We will cover the basics of the programming paradigm as well as some advanced topics such as programming NUMA machines. The nodes of the RWTH Compute Cluster contain an increasing number of cores and thus we consider shared memory programming a vital alternative for applications that cannot be easily parallelized with MPI. We also expect a growing number of application codes to combine MPI and OpenMP for clusters of nodes with a growing number of cores.
The Message Passing Interface (MPI) is the de-facto standard for programming large HPC systems. We will introduce the basic concepts and give an overview of some advanced features. Also covered is hybrid parallelization, i.e., the combination of MPI and shared memory programming, which is gaining popularity as the number of cores per cluster node grows.
Machine Learning: We provide an overview to end-to-end deep learning with the latest version of Tensorflow/Keras. It covers the basic concepts to define models with Keras and data pipelines with Tensorflow’s “Dataset”, and to visualize the results with Tensorboard while training. If training on one node or GPU is not enough, we show how to scale up/out distributed training onto multiple compute nodes and GPUs with Horovod. Furthermore, we provide an introduction to scikit-learn, with an overview of different machine learning algorithms it provides and how to utilize it on GPUs with H2O4GPU. There will also be a small section on PyTorch. The training courses consist of a hands-on exercises to be run directly on RWTH infrastructure.
Guest Speaker
We are happy to announce two guest speakers:
- Georg Zitzlsberger (IT4Innovations National Supercomputing Center at VSB – Technical University of Ostrava) on Machine Learning
- Ruud van der Pas (Oracle Linux Engineering) on OpenMP
Agenda
Day 1+2: OpenMP
Monday, March 13 | Day 1: OpenMP Part I | |
---|---|---|
09:00 – 09:10 | Organization PPCES 2023 | Philipp Martin |
09:10 – 10:30 | OpenMP Basics part 1 | Christian Terboven |
11:00 – 12:00 | OpenMP Basics part 2 (incl. Lab) | Christian Terboven |
13:30 – 15:00 | OpenMP Basics part 3 (incl. Lab) | Christian Terboven |
15:30 – 16:30 | OpenMP Basics part 4 (incl. Lab) | Christian Terboven |
Tuesday, March 14 | Day 2: OpenMP Part II | |
---|---|---|
09:00 – 10:30 | Speed up Your OpenMP Application Without Doing Much | Ruud van der Pas |
11:00 – 12:00 | OpenMP SIMD | Christian Terboven |
13:30 – 15:00 | OpenMP Advanced Tasking (incl. Lab) | Christian Terboven |
15:15 – 16:15 | OpenMP for Accelerators | Christian Terboven |
Day 3+4: MPI
Wednesday, March 15 | Day 3: MPI Part I | |
---|---|---|
09:30 – 11:00 | Introduction to MPI | Marc-André Hermanns |
11:30 – 12:30 | Blocking Point-to-Point Communication I | Marc-André Hermanns |
14:00 – 15:30 | Blocking Point-to-Point Communication II | Marc-André Hermanns |
16:00 – 17:00 | Non-blocking Point-to-Point Communication | Marc-André Hermanns |
Thursday, March 16 | Day 4: MPI Part II | |
---|---|---|
09:30 – 11:00 | Derived Datatypes | Marc-André Hermanns |
11:30 – 12:30 | Blocking Collective Communication | Marc-André Hermanns |
14:00 – 15:30 | Communicator Basics | Marc-André Hermanns |
16:00 – 17:00 | Hybrid Programming | Marc-André Hermanns |
Day 5: Machine Learning
Friday, March 17 | Day 5: Machine Learning | |
---|---|---|
09:00 – 09:45 | Introduction to sci-kit learn | Georg Zitzlsberger |
09:45 – 10:00 | Getting started on the Cluster | Jannis Klinkenberg |
10:15 – 11:00 | Hands-on scikit-learn examples | Georg Zitzlsberger |
11:00 – 12:00 | Introduction to Deep Neural Networks | Georg Zitzlsberger |
13:00 – 14:00 | Tensorflow/Keras Exercises (short intro + Hands-on exercise)
|
Georg Zitzlsberger |
14:15 – 15:30 | Multi-GPU with Horovod (incl. short Hands-on) | Georg Zitzlsberger |
15:30 – 16:00 | Q & A | Georg Zitzlsberger |
Material Downloads
Prerequisites
Attendees should be comfortable with C/C++ or Fortran programming in a Linux environment and interested in learning about the technical details of parallelization and application tuning.
Participants of Part 3 (Machine Learning) will require basic knowledge of Python.
Gained Skills
Participants will learn about parallelization and application tuning in the context of High Performance Computing.
Registration
Registration is now closed, but was available here.
Acknowledgements
This work was supported by the EuroCC project. This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 951732. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Germany, Bulgaria, Austria, Croatia, Cyprus, the Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, the United Kingdom, France, the Netherlands, Belgium, Luxembourg, Slovakia, Norway, Switzerland, Turkey, Republic of North Macedonia, Iceland, Montenegro. This project has received funding from the Ministry of Education, Youth and Sports of the Czech Republic (ID:MC2101).
This event was further supported by NEC.