Tutorial. OpenACC: Parallel programming of heterogeneous computing systems

Synopsis:

Instructors: Carlos Acosta-León, PhD in Informatics

Language: Spanish 

Institution: Laboratory for High Performance Heterogeneous Computing (LHiPHeC) at The Parallel and Distributed Computing Center (DPCC), Universidad Central de Venezuela. 

Requirements: To be able to follow the course and the commands that the teacher will execute, it is recommended to have knowledge of Linux.

Description: In recent years, heterogeneous architecture systems composed of multiple computing devices such as CPUs, GPUs and FPGAs, have gone from being an academic proposal to being the reference architecture at all levels of computing, from embedded systems, to mobile devices and even supercomputers. However, these systems make their integration and programming complex, despite the deep scientific, industrial and professional interest they arouse. In fact, they are widely used both in Artificial Intelligence applications, as well as in augmented reality (AR) and virtual reality (VR), the Internet of Things (IoT), video games, mobile applications, etc. In this context, programming tools such as openMP and openACC have opened the door to exploiting the maximum performance of these systems using a high-level parallel programming interface.

The tutorial will be carried out in 2 sessions of 3 hours each.

The contents of sessions are as follows:

  • Module I  (3 hrs), in the morning:
  • Parallel Computing (basic notions)
  • Heterogeneous Computing
  • CPUs, GPUs and FPGA

 

  • Module II (3 hrs), in the afternoon:
  • Shared Memory Model in OpenMP/openACC
  • Programming Model in OpenMP/openACC
  • Final considerations