| Home > Publications database > High Performance Scientific Computing in C++ – 2025 |
| Lecture (Other) | FZJ-2026-01046 |
2025
This record in other databases:
Please use a persistent id in citations: doi:10.34734/FZJ-2026-01046
Abstract: 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 arrival of the newer language standards such as C++23, every three years, regularly opens up new abstraction mechanisms 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 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++20 (at least C++17), who wish to develop maintainable and fast applications. The course introduces novel ways, now available to C++ programmers, to write expressive, maintainable and fast code. The participants 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.
|
The record appears in these collections: |