Parallel Programming in Computational Engineering and Science 2012

HPC Seminar and Workshop

Monday, March 19 - Friday, March 23, 2012

Extension Building of the
Center for Computing and Communication RWTH Aachen University

Kopernikusstraße 6, seminar rooms 3+4

 

Kindly supported by:

 


 

Introduction

This event  continued  the tradition of previous annual week-long events taking place in Aachen every spring since 2001.

Throughout the week, we will cover serial (Monday) and parallel programming using MPI (Tuesday) and OpenMP (Wednesday) in Fortran and C / C++ as well as performance tuning addressing both Linux and Windows platforms. Furthermore, we will introduce the participants to GPGPU programming (Thursday) and provide ample opportunities for hands-on exercises including a "bring-your-own-code" session on Friday.

These topics are presented in a modular way, so that you can choose, pick and register for single days in order to let you invest your time as efficiently as possible.

While we assume that those who would like to work on Windows during the lab sessions have some basic experience with the MS Visual Studio programming environment, we will give an additional introduction to this environment on Monday at 11:00 am.

Please note that there are two additional introductory courses on the specifics of the programming environment of the RWTH Compute Cluster for (local) users beforehand. They will cover topics like login procedures and interactive and batch usage of the RWTH Compute Cluster.

Agenda and Registration

Please find the agenda here as pdf 

 

Part I: Introduction, Parallel Computing Architectures, Serial Tuning - Monday, March 19

After an introduction to the principles of today's parallel computing architectures, the configuration of the new components of the RWTH Compute Cluster delivered by the company Bull will be explained. As good serial performance is the basis for good parallel performance, we cover serial tuning before introducing parallelization paradigms.

- During your registration, please indicate whether you plan to take part in the introduction to MS Visual Studio at Monday, 11 am  in the "remarks" field.

- During your registration, please indicate whether you plan to use Linux and/or Windows for your hands-on exercises in the "remarks" field.

Part II: Message Passing with MPI - Tuesday, March 20

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. Furthermore, we will introduce the TotalView debugger and a selection of performance tools. We will also cover hybrid parallelization, i.e. the combination of MPI and shared memory programming. Hybrid parallelization is gaining popularity as the number of cores per cluster node is growing.

- During your registration, please indicate whether you plan to use Linux and/or Windows for your hands-on exercises in the "remarks" field.

Part III: Shared Memory Programming with OpenMP - Wednesday, March 21

OpenMP is a widely used approach for programming shared memory architectures, which is 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 or clusters, coherently coupled with the vSMP software from ScaleMP. 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 which 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.

- During your registration, please indicate whether you plan to take part in the social event on Wednesday 7 pm  in the "remarks" field.

- During your registration, please indicate whether you plan to use Linux and/or Windows for your hands-on exercises in the "remarks" field.

Part IV: GPGPU Programming - Thursday, March 22

We will study GPU programming as a parallel programming skill. We will briefly introduce GPU architectures and explain why GPU programming differs from multicore parallel programming. CUDA is NVIDIA‘s architecture for executing highly parallel applications on their GPUs; we will introduce NVIDIA‘s CUDA C extensions in comparison with the OpenCL standard, showing basic concepts, performance measurement and tuning. Then, we will look at the PGI Accelerator Model, a directive-based approach to program GPUs and give a glimpse into the upcoming OpenACC programming paradigm for accelerators.

Part V: Lab Exercises, Tune your own Code - Friday, March 23

At the end of a week full of presentations and hands-on sessions, we would like to give you the opportunity to dive into some more practical details, to continue working on lab exercises or to get started with porting or tuning your own codes. Don't put your expectations too high though, as time for working on large codes is limited. You will profit more from this opportunity the better you are prepared.

- During your registration, please indicate whether you plan to use Linux and/or Windows for your hands-on exercises in the "remarks" field.

- During your registration, please indicate whether you plan to bring your own code in the "remarks" field.

 

Speakers

  • Thomas Warschko and Oliver Fortmeier, Bull
  • Bernd Dammann, DTU, Lyngby, Denmark
  • Members of the HPC Team of the RWTH Center for Computing and Communication

 

IMPORTANT (for RWTH members only)!

Please note that all RWTH members (except UKA) need a PC pool account (which is not the same as the cluster account) to take part in the hands-on sessions.

Please find related information here. (achtung hier Seite PC Pool accounts aktivieren)

 

Participants

Attendees should be comfortable with C/C++ or Fortran programming and interested in learning more about the technical details of application tuning and parallelization. The presentations will be given in English.

Social Event - sponsored by Bull


Course Materials

Social Event - sponsored by Bull

    The social event will take place on  Wednesday, March 21 at 7pm in Kazan Annastraße 26.

Course Materials

Recent materials of the course can be found here.

(You can find last year's course materials here.)

 

Costs

There is no seminar fee. All other costs (e.g. travel, hotel, and consumption) are at your own expenses.

Location

RWTH Aachen University
Center for Computing and Communication, Extension Building
Kopernikusstraße 6, 52074 Aachen
Seminar Room 3 + 4

Contact

Sandra Wienke
Tel.: +49 241 80 24761
Fax/UMS: + 49 241 80 624761
E-mail: hpcevent@rz.rwth-aachen.de