The aim of this course is to introduce participants to the HPX library (http://stellar-group.org/libraries/hpx/ and https://github.com/STEllAR-GROUP/hpx and http://stellar-group.org/) and demonstrate how it can be used to write task based programs. The HPX library implements a lightweight threading model that allows both concurrent, asynchronous, parallel and distributed programming constructs to coexist within the same application with a consistent API based on C++ standards and using futures to synchronize between tasks.
The course is aimed at participants with a good understanding of C++. The material covered will include an introduction to the HPX programming model; asynchronous programming concepts, execution policies and executors; parallel algorithms using tasks (including the parallel STL); writing distributed applications with HPX; profiling and debugging and a final section introducing heterogeneous programming using targets for GPU devices.
Objective: The attendee will gain an understanding of the HPX library and task based programming in general.
For further information and registration please visit the HLRS course page.