Introduction to Parallel Programming with HPX

Photo of scientists participating in a training course in HLRS's Ruehle Saal
March 4th: This course has been cancelled.

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.

Location

Online course
Organizer: HLRS, University of Stuttgart, Germany

Start date

Jun 22, 2022
09:00

End date

Jun 24, 2022
16:00

Language

English

Entry level

Advanced

Course subject areas

Parallel Programming

Back to list

Prerequisites and content levels

Prerequisites

The attendee is expected to be confident with C++ syntax and the object oriented features of the language. Basic familiarity with templates is expected.

Content levels
  • Intermediate: 9:00 hours
  • Advanced: 3:00 hours

Learn more about course curricula and content levels.

Instructors

 Thomas Heller, FAU Erlangen-Nuremberg; John Biddiscombe and Mikael Simberg, CSCS.

Learning outcomes

After this course, participants will:

  • have a detailed understanding of the HPX library
  • have gained knowledge about fundamentals of the task based programming
  • be able to practical experience in applying these methods and tools.

Agenda

All days, 9:00-12:00, 13:15-16:00 CEST

Content

  • Introduction to HPX - Ooverview & API
  • Building & Running, Options & Configuration, other examples (hands on)
  • Worked Stencil Examples - From Serial to Distributed with hands on
  • Resource Management and Performance Issues
  • Debugging and Profiling HPX Applications

Handouts

All material (slides, example code) will be accessible online.

Registration information

Register via the button at the top of this page.
We encourage you to register to the waiting list if the course is full. Places might become available.

Fees

Students without Diploma/Master: none.
Students with Diploma/Master (PhD students) at German universities: none.
Members of German universities and public research institutes: none
Members of universities and public research institutes within EU or PRACE member countries: none
Members of other universities and public research institutes: 120 EUR.
Others: 400 EUR.

Contact

Khatuna Kakhiani phone 0711 685 65796, kakhiani(at)hlrs.de
Michael Schlottke-Lakemper phone 0711 685 87223, m.schlottke-lakemper(at)hlrs.de
Jose Gracia phone 0711 685 87208, gracia(at)hlrs.de

PRACE PATC and bwHPC

HLRS is part of the Gauss Centre for Supercomputing (GCS), which is one of the six PRACE Advanced Training Centres (PATCs) that started in Feb. 2012.

This course is a PATC course, see also the PRACE Training Portal and Events. For participants from public research institutions in PRACE countries, the course fee is sponsored through the PRACE PATC program.

HLRS is also member of the Baden-Württemberg initiative bwHPC.

This course is also provided within the framework of the bwHPC training program.

Official course URL(s)

https://www.hlrs.de/training/2022/HPX

Further courses

See the training overview and the Supercomputing Academy pages.