Parallel Programming in Computational Engineering and Science 2020
HPC Seminar and Workshop
March, 16 - 20, 2020
IT Center RWTH Aachen University
Seminar Room 3 + 4
This event continues the tradition of previous annual week-long events that take place in Aachen every spring since 2001. Throughout the week we will cover parallel programming using OpenMP and MPI in Fortran and C/C++ and performance tuning. Furthermore, we will introduce the participants to GPGPU programming with OpenACC. Hands-on exercises for each topic will be provided, which should not discourage you from working on your own code. 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.
The topics will be presented in a modular way, so that you could pick specific ones and register for the particular days only in order to let you invest your time as efficiently as possible. Each major topic is split into two parts: part I with basic information and part II with more advanced information. Part II always relies on contents of Part I.
Please register separately for each part here>>>
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. We will also cover a selection of performance and verification tools for OpenMP. 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. Furthermore, we will introduce a selection of performance and correctness-checking tools.
OpenACC is a directive-based programming model for accelerators, which enables delegating the responsibility for low-level (e.g. CUDA or OpenCL) programming tasks to the compiler. Using the OpenACC industry standard, the programmer can offload compute-intensive loops to an attached accelerator with little effort. In this course, we will focus on using OpenACC on NVIDIA GPUs.
Attendees should be comfortable with C/C++ or Fortran programming in a Linux environment and interested in learning more about the technical details of application tuning and parallelization. Basic information about parallel computing architectures and about using the modules environment and the Slurm batch scheduler will be presented in a sepearted event: Please check out the slides after this introduction if you need a quick start.
All presentations will be given in English.
Please make your own hotel reservation. You may find a list of hotels in Aachen on the web pages of Aachen Tourist Service. We recommend that you try to book a room at the Novotel Aachen City, Mercure am Graben or Aachen Best Western Regence hotels. These are nice hotels with reasonable prices within walking distance (20-30 minutes, see city map) from the IT Center through the old city of Aachen. An alternative is the IBIS Aachen Marschiertor hotel, located close to the main station, which is convenient if you are traveling by train and also prefer to commute to the IT Center by train (4 trains per hour, 2 stops). Please, download a sketch of the city (pdf, 415 KB) with some points of interest marked. You may find a description of how to reach us by plane, train or car here. Bus lines 33 and 73 connect the city (central bus station) and the Mies-van-der-Rohe-Straße bus stop 6 times per hour. Most trains between Aachen and Düsseldorf stop at station Aachen West, which is 10 minutes walk away from the IT Center. From the bus stop and the train station just walk up Seffenter Weg. The first building on the left side at the junction with Kopernikusstraße is the IT Center of RWTH Aachen University. The event will take place in the extension building located at Kopernikusstraße 6. The weather in Aachen is usually unpredictable. It is always a good idea to carry an umbrella. If you'll bring one, it might be sunny.