Introduction to OpenACC @ BSC

Vertex Building, Room S208 (Barcelona BSC Campus Nord)

Vertex Building, Room S208

Barcelona BSC Campus Nord


The registration to this course is now open.

All PATC Courses at BSC do not charge fees.


Local Web Page:
This is an expansion of the topic "OpenACC and other approaches to GPU computing" covered on this year's and last year's editions of the Introduction to CUDA Programming.
This course will provide very good introduction to the PUMPS Summer School run jointly with NVIDIA -  also  at Campus Nord, Barcelona. For further information visit the school website.

Antonio Peña, Computer Sciences Senior Researcher, Accelerators and Communications for High Performance Computing, BSC


As an NVIDIA GPU Center of Excellence, BSC and UPC are deeply involved in research and outreach activities around GPU Computing. OpenACC is a high-level, directive-based programming model for GPU computing. It is a very convenient language to leverage the GPU power with minimal code modifications, being the preferred option for non computer scientists. This course will cover the necessary topics to get started with GPU programming in OpenACC, as well as some advanced topics.

The target audiences of the course are students who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors.

BEGINNERS: for trainees from different background or very little knowledge.



Session 1 / 9:00am – 1:00 pm (2h lectures, 2 h practical)

9:00 - 10:00 Introduction to OpenACC on x86 CPU and GPU

10:00 - 11:00 Hands-on: Introduction

11:00 - 11:30 Break

11:30 - 12:30 Profiling and Parallelizing with the OpenACC Toolkit

12:30 - 13:30 Hands-on: Profiling and Parallelizing

13:30 - 15:00 Lunch break

Session 2 / 2:00pm – 5:00 pm (2 h practical)

15:00 - 17:00 Hands-on: Open Labs



Session 3 / 9:00am – 1:00 pm (2h lectures, 2 h practical)

9:00 - 10:00 Expressing Data Locality and Optimizations with OpenACC

10:00 - 11:00 Hands-on: Data Locality and Optimizations

11:00 - 11:30 Break

11:30 - 12:30 Advanced OpenACC Techniques: Interoperability, MPI, and Pipelining

12:30 - 13:30 Hands-on: Advanced Techniques

13:30 - 15:00 Lunch break

Session 4 / 2:00pm – 5:00 pm (2 h practical)

15:00 - 17:00 Hands-on: Open Labs

End of Course


The agenda of this meeting is empty