Parallel Programming in Computational Engineering and Science 2015
kindly supported by:
HPC Seminar and Workshop
March, Monday 16 - March , Friday 20, 2015
IT Center RWTH Aachen University
Kopernikusstraße 6, Seminar Room 3 + 4
Recent materials of the course can be found here >>>
This event will continue 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 MPI (Monday and Tuesday) and OpenMP (Wednesday and Thursday) in Fortran and C / C++ as well as performance tuning. Furthermore, we will introduce the participants to GPGPU programming with OpenACC (Friday). Hands-on exercises for each topic will be provided, which should not discourage you from working on your own code.
The topics are 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.
- Mo, March 16: Message Passing with MPI – Day I Registration open here
- Tu, March 17: Message Passing with MPI – Day II Registration open here
The Message Passing Interface (MPI) is the de-facto standard for programming large HPC clusters. 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 the TotalView debugger and a selection of performance and correctness tools (Score-P, Vampir, MUST).
- We, March 18: Shared Memory Programming with OpenMP – Day I Registration open here
- Th, March 19: Shared Memory Programming with OpenMP – Day II Registration open here
OpenMP http://openmp.org/ 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 RWTH Compute Cluster comprises a large number of big SMP machines (up to 128 cores and 2 TB of main memory) as 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.
Furthermore, we will introduce the participants to modern features of the OpenMP 4.0 standard like vectorisation and programming for accelerators and for the Many Integrated Core (MIC) Architecture.
Guest lectures and case studies complete these day's program.
- Fr, March 20: GPGPU Programming with OpenACC Registration open here
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. The open industry standard OpenACC has been introduced in November 2011 and supports accelerating regions of code in standard C, C++ and Fortran. It provides portability across operating systems, host CPUs and accelerators.
During this workshop day, we will give an overview on OpenACC while focusing on NVIDIA GPUs. We will introduce the GPU architecture. Then, we will dive into OpenACC and learn about its possibilities to accelerate code regions. We will cover topics such as offloading loops, managing data movement between host and device, tuning data movement and accesses, applying loop schedules, using multiple GPUs or interoperate with CUDA libraries. Hands-on sessions are done on the RWTH Aachen GPU (Fermi) Cluster using PGI's OpenACC implementation.
There will be a sponsored social dinner on Wednesday, March 18 at 19:00 in Restaurant Palladion Aachen
Please register here for Part III of PPCES 2015 (Please mark if you like to attend the social dinner on Wed, March 18, 19:00)
- Ruud van der Pas, Oracle
- Thomas Roehl, Friedrich-Alexander-Universitaet Erlangen-Nuernberg, Regionales RechenZentrum Erlangen (RRZE)
- Bernd Dammann, Technical University of Denmark, DTU Informatics
- Members of the HPC Team, IT Center RWTH Aachen University
RWTH Aachen University
IT Center, Extension Building
Kopernikusstraße 6, 52074 Aachen
Seminar Room 3 + 4
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, citymap.pdf) from the IT Center through the old city of Aachen. An alternative is the "IBIS Aachen Marschiertor" hotel which is close to the main station, which is convenient if you are traveling by train and also want to commute to the Center by train (4 trains per hour, 2 stops)
Most trains between Aachen and Düsseldorf stop at "Aachen West" station which is a 5 minutes walk away from the IT Center.
From the bus stop and the train station just walk uphill the "Seffenter Weg". The first building on the lefthand side at the junction with "Kopernikusstraße" is the IT Center, RWTH Aachen University. The event will take place in the extension building in the "Kopernikusstraße".