Jun 21 – 24, 2021
Online course
CET timezone

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 by today's standards requires understanding and exploiting multiple levels of parallelism, and understanding C++ code from a 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 already familiar with C++17 (at the very least C++14), who wish to develop maintainable and fast applications. They will learn techniques to better utilize CPU caches, instruction pipelines, SIMD functionality and multi-threading. Shared memory parallel programming on multiple CPU cores will be introduced using parallel STL of C++17 and Intel (R) Threading Building Blocks. The participants will also learn basic GPGPU programming in C++ using NVidia CUDA and Thrust.

Prerequisites: Good working knowledge of C++, especially the C++14 standard.
Please check with these questions whether your C++ knowlegde fulfills the requirements.

Registration was closed on 31 May, since the maximal number of participants is limited. Applicants will be notified, whether they are accepted for participitation.

Instructor: Dr. Sandipan Mohanty, JSC

For any questions concerning the course please send an e-mail to s.mohanty@fz-juelich.de

Online course

The course will be given as follows:

3 lectures with very short exercises - 09:00-10:00, 10:15-11:15, 11:30-12:30
intensive exercises - 14:00-16:30