PRACE training course "High-performance scientific computing in C++"

Start
27th May 2019 07:00 AM
End
29th May 2019 02:30 PM
Location
Jülich Supercomputing Centre, Ausbildungsraum 2, building 16.3, room 211

(Course no. 1122019 in the training programme 2019 of Forschungszentrum Jülich)

Target audience:

Advanced C++ programmers who want to use C++ on high-performance systems

Contents:

 

Prerequisites:

Good working knowledge of C++, especially the C++14 standard.


Please check with

these questions

whether your C++ knowlegde fulfills the requirements.

Language:

This course is given in English.

Duration:

3 days

Date:

27-29 May 2019, 09:00-16:30

Venue:

Jülich Supercomputing Centre, Ausbildungsraum 2, building 16.3, room 211

Number of participants:

minimum 5

Instructor:

Dr. Sandipan Mohanty, JSC

Contact:

Dr. Sandipan Mohanty


Phone: +49 2461 61-2526


E-mail: s.mohanty@fz-juelich.de

Registration:

Please register until 10 May 2019 via the

form at the PRACE web site

Modern C++, with its support for procedural, objected oriented, generic and functional programming styles, offers many powerful abstraction mechanisms to express complexity at a high level while remaining very efficient. It is therefore the language of choice for many scientific projects. However, achieving high performance on contemporary computer hardware, with many levels of parallelism, requires understanding C++ code from a more performance centric viewpoint.

In this course, the participants will learn how to write C++ programs which better utilize typical HPC hardware resources of the present day. The course is geared towards scientists and engineers, who are already familiar with C++14, and wish to develop maintainable and fast applications. They will learn to identify and avoid performance degrading characteristics, such as unnecessary memory operations, branch mispredictions, and unintentionally strong ordering assumptions. Two powerful open source libraries to help write structured parallel applications will also be introduced:

  • Intel (R) Threading Building Blocks
  • NVIDIA Thrust

This course is a PRACE training course.

Last Modified: 20.05.2022