High-performance scientific computing in C++ (PRACE-Trainingskurs, online)
(Kurs-Nr. 1602022 im Trainingsprogramm 2022 des Forschungszentrums Jülich)
Der Kurs findet als Online-Veranstaltung statt. Der Link zur Online-Plattform wird nur den registrierten Teilnehmer:innen bekannt gegeben.
Inhalt:
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. The approval of the latest language standard, C++20, has also opened up new abstraction layers and new exciting ways to organize code at all levels. However, achieving high performance by today's standards requires understanding and exploiting multiple levels of parallelism, as well as 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, who wish to develop maintainable and fast applications. Since C++20 is a relatively large structural change of the C++ language, similar to C++11, novel ways to write expressive, maintainable and fast code are now available to C++ programmers, which will be introduced in the course. The participants 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 standard C++ parallel STL and Intel (R) Threading Building Blocks. The participants will also learn basic GPGPU programming using C++ template based generic programming techniques.
This course is a PRACE training course.
Level der vermittelten Inhalte | in Stunden | in % |
---|---|---|
Grundlegende Inhalte: | 0 h | 0 % |
Mittlere Inhalte: | 9,5 h | 40 % |
Fortgeschrittene Inhalte: | 14,5 h | 60 % |
Inhalte für Fach-Communities: | 0 h | 0 % |
Voraussetzungen:
Gute Kenntnisse in C++, speziell des C++17-Standards
Bitte prüfen Sie mit diesen Fragen, ob Sie die Voraussetzungen für den Kurs erfüllen.
Zielgruppe:
Mitarbeiter:innen, die C++ auf Supercomputern nutzen wollen
Sprache:
Der Kurs wird auf Englisch gehalten.
Dauer:
4 Tage
Zeit:
21. - 24. Juni 2021, jeweils 9:00 - 16:30
vormittags: 3 Vorlesungen mit sehr kurzen Übungen - 09.00-10.00, 10.15-11.15, 11.30-12.30 Uhr
nachmittags: ausgedehnte Übungen - 13.30-16.30 Uhr.
Ort:
Online
Teilnehmerzahl:
mindestens 5, höchstens 28
Referent:
Dr. Sandipan Mohanty, JSC
Ansprechpartner:
- Institute for Advanced Simulation (IAS)
- Jülich Supercomputing Centre (JSC)
Raum 4011