Programming with OpenACC@ MdS
Date: 5 - 6 March 2014
Subjects covered:
Threading, acceleratorsCourse Description:
OpenACC is an emerging standard for parallel computing designed to ease the use of accelerators like GPU, or coming many-core processors; OpenACC is real-world implementation of parallel programming concepts for accelerators that could be part of a future OpenMP standard.
Content:
presentation of the OpenACC programming model
hands-on session using CAPS/HMPP compiling toolchain
Hands-on sessions will use a local cluster at Maison de la Simulation. The OpenACC part of the course will be given by CAPS Entreprise.Learning outcome:
After this courses, participants should know the syntax of OpenACC directives, how to apply them to obtain efficient parallel codes. They will also understand the importance of memory layout.Pre-requisites:
Good knowledge in C or Fortran programming language, some knowledge about parallel programming.
GPGPU programming knowledge is not required.Agenda
March 5 Morning – CUDA Basics
Introduction to GPU computing
Nvidia GPU architectures
CUDA programming model
CUDA API
CUDA debugging
Afternoon – OpenACC (1/2)
OpenACC Overview & compilers
OpenACC Programming Model
Managing data with OpenACC
March 6
Morning – OpenACC (2/2)
OpenACC loop constructs
Asynchronism with OpenACC
OpenACC runtime API
Afternoon – OpenHMPP Introduction
What is in HMPP , what is not in OpenACC
OpenHMPP compilation model
Driving the code generation & gridifications
Automatic unroll, split, jam, etc. transformations
Computing on multiple GPUs
OpenHMPP API for C, C++ and Fortran
Event types:
- Workshops and courses
Activity log