Categories
Pages
-

IT Center Events
Loading Events

« All Events

  • This event has passed.

PPCES 2025

Monday, 10. March - Friday, 14. March

Logo NHR4CES

in cooperation with

HPC.NRW Kompetenznetzwerk European Digital Innovation Hub (EDIH) Rheinland KI-Servicezentrum im Westen Deutschlands

 

Parallel Programming in Computational Engineering and Science (PPCES)

March 10th – 14th, 2025

Logo PPCES Event

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. Furthermore, we will embrace current topics in machine & deep learning. Hands-on exercises for each topic will be included.

The contents of the courses are generally applicable but will be specialized towards the compute cluster CLAIX which is the current system installed at RWTH’s IT Center. It might be helpful to read through the information which is provided during the HPC introduction on March 4th 2025. This is especially true if you want to actively use CLAIX after this event.

Topics

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.

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 compute nodes of the RWTH HPC Cluster (aka CLAIX) 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.

Machine & Deep Learning: We provide a fundamental introduction into machine and deep learning approaches as well as data processing techniques that support dataset preparation or model selection for training and inference. It covers the basic concepts for supervised and unsupervised learning such as classification, regression, and clustering to get a feeling which technique is appropriate for a particular problem. Additionally, we conduct several hands-on exercises with common frameworks such as scikit-learn and PyTorch on our recent HPC Cluster CLAIX. In these exercises, we demonstrate how to define models, construct dataset and training pipelines or utilize monitoring and visualization of the training results, e.g., with Tensorboard. For the deep learning exercises, we start by training on a single GPU first. If that is not enough, we also show how to scale up distributed training onto multiple compute nodes or GPUs.

Organization

  • There is no seminar fee.
  • Presentations will be given in English. Slides will be available during or after the event.
  • This is an in-person event and will be held on the RWTH IT Center premises (see below). Coffee, tea, and soda are sponsored by NEC throughout the event.
  • You can/must register per topic, i.e., MPI (Mon + Tue), OpenMP (Wed + Thu), and ML/DL (Fri).
  • For more details on the target audience, prerequistes and gained skills, see the “Skills” sections below (per topic).

Guest Speakers

We are happy to announce our guest speaker: Ruud van der Pas (Oracle Linux Engineering)

Agenda

Agenda is still subject to slight changes.

Day 1+2: MPI

Monday, March 10 Day 1: MPI Part I
09:00 – 09:10 Welcome & Organization Marc-André Hermanns (RWTH)
09:10 – 10:10 Introduction into Parallel Computing Ruud van der Pas (Oracle Linux Engineering)
10:10 – 10:30 MPI Basics – Part 1 Marc-André Hermanns (RWTH)
10:30 – 11:00 Coffee Break
11:00 – 12:10 MPI Basics – Part 2 (incl. Lab)

  • Exercises + Source Codes: see “Material Downloads” (below)
Marc-André Hermanns (RWTH)
12:10 – 12:40 Blocking Point-to-Point Communication – Part 1 (incl. Lab) Marc-André Hermanns (RWTH)
12:40 – 14:00 Lunch Break (on your own)
14:00 – 15:30 Blocking Point-to-Point Communication – Part 2 (incl. Lab) Marc-André Hermanns (RWTH)
15:30 – 16:00 Coffee Break
16:00 – 17:00 Blocking Point-to-Point Communication – Part 3 (incl. Lab) Marc-André Hermanns (RWTH)

 

Tuesday, March 11 Day 2: MPI Part II
09:00 – 10:00 Non-blocking Point-to-Point Communication (incl. Lab) Marc-André Hermanns (RWTH)
10:00 – 10:30 Derived Datatypes – Part 1 (incl. Lab) Marc-André Hermanns (RWTH)
10:30 – 11:00 Coffee Break
11:00 – 12:30 Derived Datatypes – Part 2 (incl. Lab) Marc-André Hermanns (RWTH)
12:30 – 14:00 Lunch Break (on your own)
14:00 – 15:30 Blocking Collective Communication (incl. Lab) Marc-André Hermanns (RWTH)
15:30 – 16:00 Coffee Break
16:00 – 17:00 Communicator Basics (incl. Lab) Marc-André Hermanns (RWTH)

Day 3 + 4: OpenMP

Wednesday, March 12 Day 3: OpenMP Part I
09:00 – 09:10 Welcome & Organization Christian Terboven (RWTH)
09:10 – 10:30 OpenMP Basics – Part 1

Christian Terboven (RWTH)
10:30 – 11:00 Coffee Break
11:00 – 12:30 OpenMP Basics – Part 2

Christian Terboven (RWTH)
12:30 – 14:00 Lunch Break (on your own)
14:00 – 15:30 OpenMP Basics – Part 3 (incl. Lab)

Christian Terboven (RWTH)
15:30 – 16:00 Coffee Break
16:00 – 17:00 OpenMP Basics – Part 4 (incl. Lab)

Christian Terboven (RWTH)

 

Thursday, March 13 Day 4: OpenMP Part II
09:00 – 10:30 Speed up Your OpenMP Application Without Doing Much Ruud van der Pas (Oracle Linux Engineering)
10:30 – 11:00 Coffee Break
11:00 – 12:30 OpenMP Advanced Tasking (incl. Lab) Christian Terboven (RWTH)
12:30 – 14:00 Lunch Break (on your own)
14:00 – 15:30 OpenMP SIMD Christian Terboven (RWTH)
15:30 – 16:00 Coffee Break
16:00 – 17:00 OpenMP for Accelerators Christian Terboven (RWTH)

Day 5: Machine & Deep Learning

Friday, March 14 Day 5: Machine Learning
09:00 – 10:30 Jannis Klinkenberg (RWTH)
10:30 – 11:00 Coffee Break
11:00 – 12:30 Introduction to AI and Machine Learning, and Preprocessing Techniques – Part 2 (incl. Lab)

Jannis Klinkenberg (RWTH)
12:30 – 14:00 Lunch Break (on your own)
14:00 – 15:30 Introduction to (Distributed) Deep Learning

Jannis Klinkenberg (RWTH)
15:30 – 16:00 Coffee Break
16:00 – 17:00 Hands-on (PyTorch) Jannis Klinkenberg (RWTH)

 

Skills – MPI

Course level

beginner

Target audience

  • HPC developers

Prerequisites

  • Able to understand C/C++ (or Fortran) source codes
  • Comfortable with C/C++ or Fortran programming (for lab sessions)
  • Comfortable using a Linux environment (for lab sessions)

Gained skills

  • General understanding of the classic MPI “world model” of process initialization
  • Overview of point-to-point and collective communication an their use cases
  • Understand the use and definition of MPI derived datatypes
  • Knowledge of basic MPI terminology
  • Knowledge of blocking and non-blocking procedure calls and when to use them
  • Using MPI together with OpenMP in basic hybrid scenarios

Skills – OpenMP

Course level

beginner

Target audience

  • HPC users
  • HPC developers

Prerequisites

  • Able to understand C/C++ (or Fortran) source codes
  • Comfortable with C/C++ or Fortran programming (for lab sessions)
  • Comfortable using a Linux environment (for lab sessions)

Gained skills

  • Broad knowledge of OpenMP, including the machine, memory and execution model
  • General understanding when and how to use the different worksharing, synchronization and tasking constructs and directives
  • Capability to apply OpenMP to existing codes and to use the scoping correctly
  • Understanding of how OpenMP parallel programs interact with the system, in particular of NUMA architectures and SIMD microarchitectures

Skills – ML/DL

Course level

  • beginner to intermediate

Target audience

  • HPC/AI users
  • HPC/AI developers

Prerequisites

  • Basic knowledge of Python
  • Comfortable using a JupyterHub or Linux environment (for lab sessions)
  • Comfortable with Python programming and a little Bash scripting (for lab sessions)

Gained skills

  • High-level overview of data proprocessing, AI, machine and deep learning techniques and how they relate to each other
  • Understanding how to apply shallow ML techniques to solve classification and clustering tasks
  • Understanding how to execute PyTorch deep learning and distributed deep learning on HPC infrastructures

Material Downloads

Materials will be published during and after the workshop.

MPI Exercises

OpenMP Exercises

ML/DL Exercises

Location

The workshop will take place in-person on the premises of the IT Center of RWTH Aachen University at:

Seminar rooms 003/004
Kopernikusstraße 6
52074 Aachen

Registration

Registration link (via our NHR4CES website): https://eveeno.com/ppces_2025

Please also withdraw your registration in the registration system using the link that you got in your confirmation e-mail (or let us know) if you cannot attend anymore. That will help us a lot in preparing the event (seats, catering and so on). Thanks! (Here are further instructions how to change or cancel your registration.)

Registration closing date: March 4th, 2025

Further Links

Need support or want to ask questions?

Want to apply for compute time (proposals)?

Sponsoring

Catering is sponsored by

Details

Start:
Monday, 10. March
End:
Friday, 14. March
Event Categories:
, ,

Organizer

IT Center
Email
events@itc.rwth-aachen.de
View Organizer Website

Venue

IT Center
Kopernikusstraße 6
Aachen, NRW 52074 Deutschland
+ Google Map
Phone
0241 8024680