Thursday, Oct 11 - Friday, Oct 12, 2012
Center for Computing and Communication
RWTH Aachen Unversity
We rely on your feedback to improve our course offering. Please give your feedback 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. To this end, using the OpenACC API, the programmer can easily offload compute-intensive loops to an attached accelerator.
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. Up to know, OpenACC compilers exist from Cray, PGI and CAPS. During this workshop, you will work with PGI's OpenACC implementation on Nvidia Quadro 6000 GPUs.
This OpenACC workshop is divided into two parts (with separate registrations!). In the first part, we will give an introduction to the OpenACC API while focusing on GPUs. It is open for everyone who is interested in the topic. In contrast to the first part, the second part will not contain any presentations or hands-on sessions. To the second day, we invite all programmers who have their own code and want to give it a try to accelerate it on a GPU using OpenACC and with the help of our team members and Nvidia staff. You can find more information below.
We will also have a social dinner on Thursday evening!
Please see registration links below.
You can find the agenda in this pdf file.
Part I: Introduction to OpenACC
Thursday, October 11th; 9am - 5:30pm
This whole-day tutorial will give you an overview on OpenACC. First, we will introduce the hardware architecture of Nvidia GPUs and explain very briefly how a usual CUDA program will look like. Then, we will dive into OpenACC, learn about its possibilities to accelerate code regions and give an outlook to the OpenMP 4.0 standard (which might comprise directives for accelerators). We will have both presentations and prepared hands-on sessions. In a case study, you will learn about OpenACC's current performance and its programming productivity.
You will also get to know the RWTH Aachen GPU Cluster environment on which you will do the hands-on sessions. All hands-on session are provided under Linux.
OpenACC topics covered (amongst others):
- Offloading loops
- Managing data movement between host and device
- Tuning data movement and accesses
- Loop scheduling
- Multiple GPUs
- Interoperability with CUDA libraries
Part II: Bring Your Own Code
Friday, October 12th; 9am - 12pm/3:30pm
This whole day is dedicated to accelerate your own code with OpenACC on Nvidia GPUs. Please bring your own C or Fortran code to the workshop (we will not provide any prepared hands-on sessions!). Our team members and staff from Nvidia will help you to get your code running and tuned on the GPU.
For this second part of the workshop, we also have the RWTH's Linux GPU cluster available for the participants. Therefore, we recommend that you prepare your application in our cluster environment beforehand (to get the most out of the workshop):
- Are all files located in your cluster home directory?
- Does the application compile and run (e.g. in serial) on our cluster? Can you use the PGI Compiler (which will be used on our cluster for OpenACC)?
You can create your own RWTH cluster account depending on your affiliation (more information here). If you cannot get access to our Compute Cluster with a cluster account, do the following:
- If you want to prepare your application beforehand or you have sensitive data, please contact us. Then, we will give you access to the cluster for a limited time period.
- If you want to bring your code on the day of the workshop (using a USB stick or other), you will get a test account for the cluster. Please note that this test account should not contain any sensitive data!
Prerequisites Part II: We assume that you are already familiar with OpenACC (e.g. that you took part in the first part of the workshop).
- Timo Stich, Nvidia
- Sandra Wienke, Center for Computing and Communication, RWTH Aachen University
- Christian Terboven, Center for Computing and Communication, RWTH Aachen University
IMPORTANT (for RWTH members only)!
We recommend all RWTH members (except UKA) to have their own PC pool account (which is not the same as the cluster account). The PC pool account will be used to login to the provided laptops (for the hands-on sessions) und to store private data there. Please find related information here.
Furthermore, all RWTH members should have their own cluster account. It can be easily created by your own in TIM. More information can be found here.
Social Event - sponsored by Nvidia
The social event will take place on Thursday, October 11th at 7pm.
We will have dinner in the restaurant Kazan.
OpenMP for Accelerators
- RWTH GPU Environment
After the event we will ask you to provide your feedback. You will find a link to the web form here.
If required, please make your own hotel reservation. You can find some popular hotels listed here. You may find a complete list of hotels on the web pages of the Aachen Tourist Service. We recommend that you try to book a room in the "Novotel Aachen City", " Mercure am Graben" or "Aachen Best Western Regence" hotels. These are adequate hotels with reasonable prices at a walking distance (20-30 minutes) to the computer center through the old city of Aachen. An alternative is the hotel "IBIS Aachen Marschiertor" which is close to the main station, which is convenient if you are travelling by train and also want to commute to the Center by train (3 trains per hour, 2 stops)
Trains between Aachen and Düsseldorf stop at "Aachen West" station which is a 5 minutes walk away from the 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 Computing Center.
- Dieter an Mey
Tel.: +49 241 80 24377
Fax/UMS: +49 241 80 624377